Java8 默认方法
在Java 8之前,接口只能有抽象的方法。这些方法的实现必须在一个单独的类中提供。因此,如果要在一个接口中添加一个新的方法,那么它的实现代码就必须在实现同一接口的类中提供。为了克服这个问题,Java 8引入了默认方法的概念,允许接口拥有带实现的方法,而不影响实现该接口的类。
输出:
引入默认方法是为了提供向后的兼容性,这样现有的接口可以使用lambda表达式而不需要在实现类中实现这些方法。默认方法也被称为 后卫方法 或 虚拟扩展方法。
静态方法:
接口也可以有静态方法,这与类的静态方法类似。
输出:
默认方法和多重继承
如果两个实现的接口都包含有相同方法签名的默认方法,实现类应该明确指定使用哪个默认方法,或者应该覆盖默认方法。
输出:
重要的一点 。
- 在Java 8及以后的版本中,接口可以有默认的方法和实现。
- 接口也可以有静态方法,类似于类中的静态方法。
- 引入默认方法是为了给旧的接口提供向后的兼容性,这样它们就可以有新的方法而不影响现有的代码。