读书_重读java核心技术

读书_重读java核心技术

6.接口,lambda与内部类

接口

传统接口的特性

  1. 接口绝不能含有实例域
  2. 接口在1.8之前绝不能含有方法实现
  3. 方法不能引用实例域
  4. 接口中可以含有常量
  5. 更专用的接口可以继承更抽象的接口,提供更多抽象方法
  6. 接口中的类全部修饰为public ,接口中的常量全部修饰为public static final

1.8接口新特性

  1. 接口中可以包含静态方法
  2. 接口中可以包含默认方法
  3. 默认方法冲突(待学习)

clone 拷贝(待学习)

lambda

  • 回调:是一种常见的设计模式,可以指出某个特定事件发生时应该采取的动作.
  • 特性:
  1. lambda表达式返回值是由上下文推倒出来的,所以只能有一种.也就是说,不同分支返回不同返回值类型是不合法的.
  2. lambda表达式本质是接口的实现类实例,所以可以用接口类型的引用来保存.
  3. 想要理解lambda的用途,首先要理解表示的接口实例的用途和调用实例的方法的用途.
  • 变量作用域:
    lambda表达式可以捕获外部变量,但变量必须是不可改变的最终态

::方法引用

enter description here
enter description here

  1. 用于已存在的想要传递到其他代码的动作
posted @ 2019-07-08 22:56  孔令翰  阅读(137)  评论(0编辑  收藏  举报