这一周仍然是对接口的学习,但学习了lambda 表达式使代码块变得更为简洁。
lambda表达式本质上是一个匿名方法。正如下面这个例子:
public int add(int x, int y) {
return x + y; }
转成lambda表达式后是这个样子: (int x, int y) -> x + y;
参数类型也可以省略,Java编译器会根据上下文推断出来:
(x, y) -> x + y; //返回两数之和
或者(x, y) -> { return x + y; } //显式指明返回值
可见lambda表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块。
内部类也是学习的一个重点,内部类主要有成员内部类、局部内部类、匿名内部类
和静态内部类。内部类可以直接访问外部类的成员,包括private成员,但是内部类的成
员却不能被外部类直接访问。匿名内部类是唯一一种没有构造器的类。正因为其没有构
造器,所以匿名内部类的使用范围非常有限,大部分匿名内部类用于接口回调。局部内
部类不能用public或private访问修饰符进行声明,它的作用域被限定在声明这个局部类
的块中。
这周知识点的掌握较扎实,通过实验结合知识点,可以加深理解,使文字不仅停留
在表面,可以理解它的实际价值。