关于interface特征的归纳
1.接口中的成员变量默认都是public、static、final类型的,必须被显式初始化。
2.接口中方法默认都是public、abstract类型的。
3.接口中没有构造方法,不能被实例化。
4.接口不能实现另一个接口,但是可以继承多个其他接口。
合法:public interface C extends A,B{}
非法:public interface C implements A,B{}
5.接口必须通过类来实现它的抽象方法。
6.当类实现了一个接口时,他必须实行这个接口的所有抽象方法,否则这个类必须定义为抽象类。
接口与抽象类比较:
相同点:
1.都不能被实例化。
2.都能包含抽象方法。
区别点:
1.在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现它,提高代码的可重用性,这是抽象类的优势所在,而接口中只能包含抽象方法。
2.一个类只能继承一个直接的父类,这个父类有可能是抽象类,但是一个类可以实现多个接口。