A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.请说明lambda表达式对匿名内部类的优化原则?
2.请说出lambda表达式的应用场景?
3.说出lambda表达式的省略原则?
4.说明接口升级之后的组成部分?
5.说出方法引用的四个场景分别是什么?

2 个回复

倒序浏览

1.请说明lambda表达式对匿名内部类的优化原则?
【1】当匿名内部类实现的是一个接口时可以优化 【2】当实现的接口中只有一个抽象方法时可以优化

2.请说出lambda表达式的应用场景?
当需要的是一个接口的对象,接口中还只有一个抽象方法时,可以用

3.说出lambda表达式的省略原则?
至上原则之--可推导可省略,当我们在lambda表达式中所给出的参数已经在传参之前定义好了参数类型时,那在lambda表达式中可以省略不写,如果参数有且进右一个,()可以不写。当方法体中的语句只有一句时{},;,return也可以省略。

4.说明接口升级之后的组成部分?
JDK8之后,接口中的组成部分有:
【1】常量public static final
【2】抽象方法:public abstract  ->实现接口的类必须重写
【3】默认方法:public default   ->JDK8以后给出默认方法用于接口升级,可重写可不重写
【4】静态方法:public static     ->只被接口调用,外部无法访问
【5】私有方法:private              ->用于接口中的共性抽取,私有外部无法访问

5.说出方法引用的四个场景分别是什么?
【1】引用类方法:当lambda中所有的参数都传递给静态方法时可以使用引用类方法简化。
【2】引用对象的实例类方法:当lambda中的参数都传递给一个实力类对象的时候可以使用引用实例类方法简化。
【3】引用类的实例:当lambda中的第一个参数作为对象,后面的参数都作为该对象实例类中的成员方法的全部参数的时候可以使用引用类的实例方法。
【4】引用构造器:当lambda中所有的的参数都作为一个构造方法的所有参数时,可以时候引用构造器方法。
回复 使用道具 举报

1.请说明lambda表达式对匿名内部类的优化原则?
匿名内部类:编译之后,产生一个单独的.class字节码文件
Lambda表达式:编译之后,没有一个单独的.class字节码文件。对应的字节码会在运行的时候动态生成

(形式参数) -> {代码块}


2.请说出lambda表达式的应用场景?
只能应用在函数式接口上:只能应用在接口上,接口有且仅有一个抽象方法。


3.说出lambda表达式的省略原则?
参数类型可省
参数若只有一个,参数外的()可以省略
若方法体只有一行,return  ;   {}  可以省略。


4.说明接口升级之后的组成部分?
①.常量 ②.抽象方法 ③.默认方法 ④.静态方法 ⑤.私有方法


5.说出方法引用的四个场景分别是什么?
①.lambda的所有参数都传递给某个类的静态方法时,可以引用类方法
②.lambda的所有参数都传递给某个对象的成员方法时,可以引用对象的实例方法
③.lambda的第一个参数传递给某个类的对象,后面的参数传递给某个类的成员方法时,可以引用类的实例方法
④.lambda的所有参数传递给某个类的构造方法时,可以引用构造器。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马