1.请说明lambda表达式对匿名内部类的优化原则?
匿名内部类:编译之后,产生一个单独的.class字节码文件
Lambda表达式:编译之后,没有一个单独的.class字节码文件。对应的字节码会在运行的时候动态生成
(形式参数) -> {代码块}
2.请说出lambda表达式的应用场景?
只能应用在函数式接口上:只能应用在接口上,接口有且仅有一个抽象方法。
3.说出lambda表达式的省略原则?
参数类型可省
参数若只有一个,参数外的()可以省略
若方法体只有一行,return ; {} 可以省略。
4.说明接口升级之后的组成部分?
①.常量 ②.抽象方法 ③.默认方法 ④.静态方法 ⑤.私有方法
5.说出方法引用的四个场景分别是什么?
①.lambda的所有参数都传递给某个类的静态方法时,可以引用类方法
②.lambda的所有参数都传递给某个对象的成员方法时,可以引用对象的实例方法
③.lambda的第一个参数传递给某个类的对象,后面的参数传递给某个类的成员方法时,可以引用类的实例方法
④.lambda的所有参数传递给某个类的构造方法时,可以引用构造器。 |