程序员

第六章 接口

2020-07-28  本文已影响0人  zhaojinhui
  1. 接口所有的方法默认都是public
  2. 可以声明接口变量,赋值为实现该接口的类object
  3. 接口可以继承接口
  4. 接口可以有常量,永远默认为public static final
  5. 在java8之后,可以在接口中添加public static method,并实现
  6. 在接口中可以用default关键字定义默认方法,这样使用该接口的类可以不用实现该方法
  7. 当不同接口有方法名字冲突时,编译器会报错
    当接口和父类方法名字冲突时,父类赢
  8. lambda 表达式中如果一个方法有返回值,那么所有的branch都应该有返回值
  9. lambda实现functional interface,即一个接口只有一个abstract的方法,作为参数传递给其他方法,比如Array.sort(arrayName, Comparator)
  10. :: 操作符,method reference
    1. object::instanceMethod
    2. Class::staticMethod 上边这两个方法,参数都是method的参数
    3. Class::instanceMethod 这个的第一个参数是调用instanceMethod的
  11. lambda可用与构造函数,比如Person::new
  12. lambda饮用的外边的参数必须是final的,因为lambda可能会比方法存活更长时间,因此,lambda会捕获那格参数的值,并保存在其中
  13. lambda的本质是一段代码,可以被传来传去,并可以稍后执行一次或者多次
  14. inner class
    1. static field必须是final
    2. inner class没有static 方法
    3. inner class可以access outer的private field,但是反之不可以
    4. inner class可以定义在类的方法中,这样,只对该方法可见
    5. 匿名inner class:
      new SuperType(construction parameters)
      {
      inner class methods and data
      }
      SuperType是被implement的接口名或者是一个被继承的superclass名
    6. 只有内部类可以被生命为静态的,静态类只可以访问外部静态变量,当不需要访问外部类的其他成员变量时,声明为静态内部类,可以有static的变量和方法
上一篇下一篇

猜你喜欢

热点阅读