6.1.2 接口不是类, 不能实例化一个接口; 但是可以声明接口的变量; Comparable x; 接口变量必须引用实现了接口的类对象; x = new Employee();
检查一个对象是否属于某个特定类 (instanceof);
检查一个对象是否属于某个特定的接口 (instance);if (anObject instanceof Comparable){...}
6.1.3 接口与抽象类
抽象类只能扩展一个类 (单一继承);
6.1.4 静态方法
由一个字符串序列构造一个文件或目录的途径, 如 Paths.get("jdk1.8.0","jre","bin")
- public interface Path
- {
- public static Path get (String first...more)
- {
- return FileSystems.getDefault().getPath(first, more);
- }
- ...
- }
6.1.5 默认方法
可以为接口方法提供一个默认实现
- public interface Comparable<T>{
- default int comparableTo(T other ){return o;}
- }
6.1.6 解决默认方法冲突
如果先在一个接口中将一个方法定义为默认方法, 然后又在超类或者另一个接口中定义了同样的方法,?
1) 超类优先如果超类提供了一个具体的方法, 同名而且有相同的参数类型的默认方法会被忽略
2) 接口冲突如果一个超接口提供了一个默认方法, 另一个接口提供了一个同名而且参数类型相同的方法, 必须覆盖这个方法来解决冲突
来源: http://www.bubuko.com/infodetail-2530478.html