Lambda表达式
Lambda表达式并不是说能简化全部匿名内部类的写法,只能简化函数式接口的匿名内部类。
Animal 类不是接口,更不是函数式接口,所以不能用Lambda来简化。
函数式接口首先是接口
简化后:被重写方法的形参列表,由于括号里没有形参,所以直接可以把括号拿过来
Lambda表达式的省略规则
-
参数类型可以不写
-
如果只有一个参数,参数类型可以省略,同时()也可以省略;两个参数的话就不可以省略了。
-
如果Lambda表达式中的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号;此时,如果这行代码是return语句,也必须去掉return不写。
方法引用
方法引用的标志是 :: 这个标志
静态方法引用的使用场景上面的代码就可以简化成这个样子
简化历程
特殊类型方法的引用
例子(了解)
构造器引用