(1)当一个类中的方法都是抽象的时候,java提供了另一种表示方式,叫接口。
用interface关键字表示。类与接口关系用implements表示。
(2)接口的成员特点
A:成员变量
是常量。
默认修饰 public static final
B:成员方法
都是抽象的。
默认修饰 public abstract
(3)关系
A:类与类的关系
是继承关系。类与类只能单继承,可以多重继承。
B:类和接口的关系
是实现关系。类可以多实现接口。
类在继承一个类的同时,可以实现多个接口。
C:接口和接口的关系
是继承关系。接口可以多继承接口。
(4)接口的特点
A:是对外暴露的规则
B:是程序的扩展功能
C:接口的出现降低耦合性。
耦合(类与类之间的关系)
内聚(类完成功能的能力)
编程规范:低耦合,高内聚。
D:接口可以多实现。
举例:
CPU和主板。
笔记本的USB插口。
插座
(5)接口和抽象类的区别
A:抽象类只能被单继承
接口可以多实现
B:接口的出现避免了多继承的局限性。
C:抽象类中的数据特点:
成员变量:可以是变量,也可以是常量
成员方法:可以是抽象方法,也可以是非抽象方法
构造方法:有构造方法
接口中的数据特点:
成员变量:是常量。都有默认修饰 public static final
成员方法:都是抽象方法。都有默认修饰 public abstract
D:抽象类中定义的是体系中的共性功能。
接口中定义的是体系中的扩展功能。
E:抽象类被继承是"is a"关系:xx是yy的一种
接口被实现是"like a"关系:xx像yy的一种 |