接口
接口:为了能让没有继承关系的类也能共享行为,而设计出来的一种独立数据类型。
类 |
编写 继承 产生对象
编写 继承 实现
也参与编译
声明接口:interface + 接口名
接口 |
接口属性:public static final(公共的静态的常量),三者缺一不可,就算没有写,也会默认有这三个修饰符
常量必须赋值。
接口没有构造。
接口行为:默认所有方法为publicabstract(公共的,抽象的)(隐式使用)方法,可以不写public abstract,也是默认生成
1.8版本之后Default也可以用来修饰接口行为。
接口命名:规则 public interfaceclass xxable(){}(表示提供什么样的能力,具有什么能力) 。
实现接口:使用 implements关键字
1. 必须重写接口的所有的行为(抽象方法)
2. 或自己成为抽象类,让子类实现接口。
3. 接口的应用可以指向实现类的对象
接口多实现,子类可以继承接口,类可以实现多个接口 implemenets xx,xxx,xxxx,
设计上的差异性- - - - - - - 抽象类与接口
抽象类 :与生俱来的特征行为写在抽象类(可以理解为如果没有这些行为,还算这个类吗来判断)
接口 :附属添加行为(尽量定义小接口)
举例 :比如门这个类:开,关(抽象类);锁,按门铃,看猫眼(接口)
另外附加程序八大原则中的三种:
1. 单一原则(单一职责):一个方法只做一件事。
2. 开闭原则:(开放)可以任意扩展功能,添加代码。
(关闭)不可以修改已有好的代码。
3. 最小接口原则(接口隔离原则):尽量定义小的接口,因为接口可以多继承,所以定义小接口可以提高丰富度,以及复用。