接口基础语法
1.接口是一种引用数据类型,编译之后也是一种class字节码文件
2.接口是完全抽象的(抽象类是半抽象),或者也可以说接口是特殊的抽象类
3.接口语法:
[修饰符列表] interfacr 接口名{
}
4.接口支持多继承,一个接口可以继承多个接口
5.接口中只包含两部分内容,一部分是常量。一部分是抽象方法。
常量:[public static final] 数据类型 = 值【public static 可以省略】
抽象方法:[public abstract] 方法名();【public abstract 可以省略】
6.接口中所有的元素都是public修饰的。都是公开的。
7.类和类之间可以继承,类和接口之间也可以继承,这种继承被称为实现
8.实现使用implements关键字完成
9.当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)。
10.一个类可以同时实现多个接口
11.接口和接口之间在进行强制类型转换的时候,没有继承关系,也可以强制类型转换,但运行时可能会出现ClassCastException异常
12.向下转型最好用instanceof进行判断
13.继承和实现同时实现:
extends在前,implements在后
例如可以这样写:定义了两个类A,一个接口B
class c extends A implements B{
}
接口在开发中的作用
1.接口是完全抽象的,面向抽象编程这句话可以换成面向接口编程
有了接口就有了可插拔,可插拔表示扩展力很强,不是焊接死的。
2.面向接口编程,可以降低程序的耦合度,提高程序的扩展力,符合OCP开发原则
3.接口可以借耦合
任何一个接口都有调用者和实现者,接口可以将调用者和实现者接耦合,调用者面向接口调用,实现者面向接口编写实现
类型和类型之间的关系
1.is a :
凡是能够满足is a 的表示继承关系
A extends B
2.has a:
凡是能够满足has a关系的表示关联关系
关联关系通常以属性的形式存在
A{
B b;
}
3.like a
凡是能够满足like a 关系的表示实现关系
实现关系通常是:类实现接口
A implements B