1.什么是接口
(1)接口是一些方法特征的集合,方法默认是public的,属性可以用public static final 修饰。
(2)接口可以看成对象的次类型,对象的父类是主类型。比如Treemap,其主类型是AbstractMap,其次类型有clonable和Serializable
(3)接口是对客户的承诺,一旦做出,无法撤回。
2. 为什么要用接口
(1) 避免hardcode 依赖另一个对象,动态依赖另一个对象。
(2) 可插入性的保证
a.关联的可插入性。一个类关联另一个类,只需要关联其接口
b.调用的可插入性。一个对象调用另一个对象的方法
3.接口的常见用法
(1)单方法接口:类似于C的方法指针。比如Runnale接口
(2)标识接口:没有任何属性和方法的接口,如Serializable,java.rmi.Remote,紧紧标识这个对象拥有某个类型
(3) 常量接口:可以在接口中用public static final 声明一些常量。这样不用再“继承”类中再次声明他们。这些类像使用自己的常量一样使用,而不必自己定义一遍。
(4)一般化接口