Java学习之随堂笔记系列——day22

1、Lambda表达式
    面向对象编程思想:哪个对象有做这件事的功能就找哪个对象。先创建对象再调方法。
    函数式编程思想:函数指的就是方法,不关心是谁,不需要我们创建对象,把创建对象的操作交给jvm完成。
    Lambda表达式的好处:
        匿名内部类简化了实现类和子类的编写,使用Lambda表达式简化了部分匿名内部类的编写。

    格式(记住):(方法的参数列表)->{方法体}

    Lambda表达式的简化方式(记住):
        简化1:任何情况下,lambda表达式的参数列表中的参数类型可以省略。
        简化2:如果参数列表中有且仅有一个参数,那么()可以省略。
        简化3:如果方法体中有且仅有一条语句,那么{}和;一起省略,如果有return,return也必须一起省略。

    注意事项(记住):使用条件
        1、Lambda表达式只能是接口类型。
        2、接口中有且仅有一个抽象方法。

    Lambda表达式和匿名内部类的区别?
        1、能用Lambda表达式的地方一定可以使用匿名内部类,反过来,能使用匿名内部类的地方不一定可以使用Lambda表达式。
        2、匿名内部类在编译之后会生成class文件,Lambda表达式编译之后不会生成class文件。

2、接口
    默认方法:
        格式:public default 返回值类型 方法名(参数列表){}  //public可以省略
        例如:
        //定义默认方法
        default void defaultMethod(){  //默认省略了public
            System.out.println("这是Inter接口中的defaultMethod默认方法。。。");
        }
        注意:默认方法如果被实现类重写,那么执行的就是重写的方法。但是重写的方法没有default关键字
    静态方法:
        格式:public static 返回值类型 方法名(参数列表){}   //public可以省略
        例如:
            //定义静态方法
            static void staticMethod(){
                System.out.println("这是Inter接口中的staticMethod静态方法。。。");
            }
        注意实现:接口的静态方法只能通过接口名调用,不能使用实现类名或者实现类的对象调用。
    私有方法:
        格式1:private 返回值类型 方法名(参数列表){}
        格式2:private static 返回值类型 方法名(参数列表){}
        作用:主要用于在接口内部抽取默认方法和静态方法公共部分代码,私有方法只能在接口内部的默认方法和静态方法中访问。

3、方法引用(了解)
    方法引用:在Lambda表达式的方法体中,如果方法体的代码有且仅有一条,并且符合 :对象.方法(参数)、类名.方法(参数)、new 对象()
            那么就可以直接引用这个方法,来简化lambda表达式的书写。
    好处:替换Lambda表达式的书写。
    注意事项:如果Lambda表达式参数列表中有参数,那么在使用方法引用时也一定会将这个参数传递给引用的方法。
    方法应用的格式:
        对象.方法(参数)------>对象::方法名    注意:不需要()
        类名.方法(参数)------>类名::方法名
        new 对象()---------->类名::new

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值