Java面向对象---->接口
接口:特殊的抽象类,也是一种引用数据类型。
接口是功能的集合(或者说是抽象方法的集合),接口类在jdk7及之前,类中只有抽象方法,在jdk8及之后有了static和default(仅表示默认,不是访问权限修饰符)两种带方法体的方法。
接口的定义
interface 接口
类的继承(extends)与接口的实现(implements)
侧重点不同
类的继承:
子类一旦继承父类,就有权使用父类中的内容,拿过来就可以直接使用。侧重点在定义了所有子类的通性,子类一旦继承,就可以直接或者间接的使用
接口的实现:
实现类一旦实现一个接口,需要对接口中的抽象功能进行实现->重写,然后才能使用。侧重点在定义了不同类型的子类的某种行为,这种行为有不同的表现形式,子类需要按照自己的需求进行重新定义编写。接口的实现需要配合方法的重写
接口的优点
- 类只能单继承,而接口可以多实现
- 接口便于后期维护,更加灵活
- 接口实现了解耦(高内聚低耦合)
- 定义开发规范
注意:推荐使用接口,但是接口并不能完全代替父类,按照需求进行使用
接口的使用:
- 接口内含有抽象方法,不能实例化
- 接口需要被实现 通过implements关键字进行实现
- 根据实现类对象使用
具体实现类 : 重写所有的抽象方法 + 按需新增
抽象实现类 : 按需重写抽象方法 + 按需新增- 类只能单继承类,类可以多实现接口,需要重写多个抽象方法
- 类与接口之间只能是类实现接口,可以多实现
- 接口与接口之间,可以多继承
- 一个类需要先继承后实现
jdk7及之前:
公共的静态的常量 public static final->默认可以任意省略
公共的抽象的方法 public abstract ->默认可以任意省略
jdk8及之后:新增静态方法与默认方法
1.静态方法
只能跟随接口名.使用
2.默认方法
被default关键字修饰方法
跟随实现类对象调用
实现类可以进行重写