1.
接口不能被实例化
2.
接口中所有的方法是
public
方法
,
接口中抽象方法,可以不用
abstract
修饰
3.
一个普通类实现接口
,
就必须将该接口的所有方法都实现
,
可以使用
alt+enter
来解决
4.
抽象类去实现接口时,可以不实现接口的抽象方法
5.
一个类同时可以实现多个接口
6.接口中的属性
,
只能是
final
的,而且是
public static final 修饰符. 比如int i = 8;
等价
public static final int i = 8;(这个很重要)
7.接口不能继承其它的类
,
但是可以继承多个别的接口
8.接口的修饰符 只能是
public
和默认,这点和类的修饰符是一样的
9.接口中属性的访问形式:接口名.属性名
接口和继承解决的问题不同
继承的价值主要在于:解决代码的复用性和可维护性。
接口的价值主要在于:设计好各种规范(方法),让其他类去实现这些方法,更加灵活。
接口比继承更加灵活
接口比接口更加灵活,继承是满足is-a的关系,而接口只需满足like-a的关系
接口在一定程度上实现代码解耦【即:接口规范性+动态绑定机制】