本章记录一些接口的特性.
一.接口中定义的方法被默认的标记为public,域被默认的标记为public static final
二.在JavaSE8中,允许在接口中增加静态方法.只是这有违于将接口作为抽象规范的初衷.
目前为止,通常的做法都是将静态方法放在伴随类中.在标准类库中,经常有成对出现的接口和使用工具类,如Collection/Collections,Path/Paths.
三.可以为接口方法提供一个默认实现.必须用default修饰符标记这样一个方法.
四.默认方法冲突的问题
如果先在一个接口中将一个方法定义为默认方法,然后又在超类或另一个接口中定义了同样的方法.Java相应的规则如下:
1.超类优先.如果超类中提供了一个具体的方法,同名而且有相同参数类型的默认方法会被忽略.
2.接口冲突.如果一个超接口提供了一个默认方法,另一个接口中提供了一个同名而且参数类型(不论是否是默认参数)相同的方法,必须覆盖这个方法来解决冲突.
基础巩固--接口
最新推荐文章于 2021-05-23 22:46:03 发布