接口
一、引入举例
生活中的接口: usb接口:1994年,由微软、IBM、因特尔共同指定的一种数据传输标准协议。
Java接口概念:特殊的抽象类,规定了接口的使用者和接口实现者之间的规范。
二、Java设置接口原因
为了解决多继承问题
三、语法
interface 接口名{}
四、特征
特点
1、接口中的属性都是公开静态常量,都是用public static final 修饰的
2、接口中的方法都是公开抽象方法,都是用public abstract修饰的。接口中的方法默认是抽象方法,无成员方法,但存在静态方法,这是jdk8新特性。
3、接口中没有构造方法,也没有对象,也无法手动去new实例化创建对象
注意事项
(1)接口中属性如果没有加修饰符,默认是公开静态常量
(2)接口中方法如果没有加修饰符,默认是公开抽象方法
五、要点
1、接口的实现类(类似于抽象类的子类)
概念
实现了接口的类叫做接口的实现类
语法
public class 实现类类名 implements 接口名 {}
特点
如果⼀个类实现了⼀个接⼝,如果这个类不想成为抽象类,那么这个类必须实现接⼝中所有抽象⽅法
2、接口与类之间的关系
(1)类与类
单继承关系,可以多级继承
(2)接口与接口
多继承关系,一个接口可以有多个直接父接口
(3)接口与类
接口和类之间是多实现的关系 ,一个类可以实现多个接口。
注意:
(1)一个类比较复杂的继承和实现关系:先继承父类 后实现接口。
(2)接口引用 指向 实现类对象,符合多态的特点 编译时 和运行时。
(3)实现类在继承父类中的方法的同时,有可能将接口中的方法进行实现
六、应用
1、扩展子类的功能
2、解耦合
耦合:表示两个的关系的亲密度
耦合分类:强耦合(关系紧密)、弱耦合(关系疏远)
概念:
解耦合的意思降低耦合,那些原来使用普通的方法实现相似功能但每次需要调用不同的私有属性的,现在用接口实现
原来的方案,实现不同的功能,除了调整功能方法还需要修改私有属性值,较为繁琐。功能需要的对象的类型发生变化,私有属性也需跟着变,耦合性高,拓展性差,不利于功能开发。