接口的总结:
1应为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现
多个接口。
2接口里面的成员变量默认都是public,static final 类型的。必须被显示的初始化
。
3接口里面的方法默认都是public abstract类型的。
4接口里面只能包含public static final 类型的成员变量,和public abstract类型
的方法。
5接口没有构造方法,不能被实例化。
6接口不能实现另一个接口,但可以继承多个接口。
7接口必须通过类来实例他的抽象方法。
8与子类继承抽象父类相似,类如果实现了一个接口,那么必须实现接口里面的所有
抽象方法,否则类要被定义为抽象类。
9一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口。
比较抽象类与接口
相同点:
1都代表系统的抽象层。应为都位于上层。
2都不能被实例化。
3都包含抽象方法。
不同点:
1抽象类中,可以提供方法的具体实现,提高代码的重用性。而接口不可以,它只能
包含抽象方法。
2抽象类只能继承一个父类。而接口可以继承多个接口。
使用原则:
1用接口作为系统和外界交互的窗口。接口是系统中最高成词的抽象类型。
2接口本省比较稳定,一旦指定,就不允许随意更改。否则对外界和系统本身造成影
响。
3抽象类一般用来定制系统中的扩展点。作为一个抽象和实现的半成品。它提供了一
部分实现,但还有些功能要在它的子类里面去实现。