1. 接口与抽象类
接口与实现接口的类没有父子关系,与抽象类不同。
(1)相同点:
- 都不能被实例化
- 抽象方法都需要被实现
(2)不同点:
- 接口强调的是功能,抽象类强调的是所属关系。
- 接口只包含抽象方法,抽象类包含抽象方法和具体方法。
2. 接口声明
(1)声明接口
接口可以继承多个接口
[访问修饰符] interface 接口名 [extends 接口1, 接口2] { 常变量; 抽象方法; }
(2)接口体
接口体中包含常变量声明和抽象方法声明。
常变量声明时需要初始化,且默认为public final static类型。在其他类中可通过 [接口名.常变量名] 调用。
抽象方法默认为public acstract类型。
3. 接口实现
class 类名 [extends 父类类名] implements 接口名[, 接口名] {...}
4. 接口变量
接口变量指实现该接口的类的实例的引用,即对象的引用,类似于上转型对象。
5. 接口参数
当方法的参数为接口类型时,实现该接口的类的实例的引用都可传递给该参数。