接口
- 描述类具有什么功能,不必给出具体的实现
- 关键字是interface
- 一个类可以实现一个或者多个接口
- java支持多继承吗,答案是否定的 java不支持多继承
- 接口中所有的方法自动的属于public
接口的特性
- 接口不是类,不能实例化,
- 抽象类也不能实例化
- 可以声明接口类型的变量
- 抽象类也能声明抽象类型的变量
- 这个变量必须引用实现了这个接口的对象
- 抽象类变量必须引用继承了这个抽象类的对象
接口和抽象类的区别
抽象类 | 接口 | |
---|---|---|
关键字 | abstract class | interface |
继承 | 只能继承一个抽象类 | 可以实现多个接口 |
域 | 可以有实例域的 | 肯定不能有实例域 |
方法 | 可以有普通方法 | 只能有静态,default 抽象方法 |
构造函数 | 可以有构造函数 | 没有 |
目的 | 为了重用 | 解耦合 |