Java 8 的这个新特性,用起来真的很爽( 二 )


Java 8 的这个新特性,用起来真的很爽文章插图
总结Java8的新特性:接口中可以声明默认方法和静态方法 。 另外 , 接口默认方法带来的多继承问题 , 即 , 如果一个类使用相同的函数签名从多个地方继承了方法 , 通过这三种规则可以判断:

  1. 类中的方法优先级最高 。 类或父类中声明的方法的优先级高于任何声明为默认方法的优先级 。
  2. 如果无法依据第一条进行判断 , 那么子接口的优先级更高:函数签名相同时 , 优先选择有最具体实现的默认方法的接口 , 即如果B继承了A , 那么B就比A更加具体 。
  3. 【Java 8 的这个新特性,用起来真的很爽】最后, 如果还是无法判断, 继承了多个接口的类必须通过显式覆盖和调用期望的方法, 显式地选择使用哪一个默认方法的实现(调用语法: 接口名.super.默认方法名 ) 。