1.接口两层含义:接口作为数据类型 狭义的接口
2接口的第二层含义:工具 广义的接口
3.接口定义
类 与 类 继承
类 与 接口 实现
4.案例:小鸟飞 飞机飞 飞翔是一种能力 :提炼成接口中一个方法 fly()
IFly[] flies=new IFly[3];//接口数组
flies[0]=new Birds();
flies[1]=new Plane();
flies[2]=new PlaneModel();
//多态的终极目标::::统一调用
//IFly 接口中每个元素的类型
// iFly:接口的实现类的对象 我们知道,接口不能有对象
for (IFly iFly : flies) {
iFly.fly();
}
4.三种多态
5.接口的注意事项
1.接口不能被实例化,接口是比抽象类抽象程度更高的类型。
2.一个接口最好只定义一个方法,防止接口污染
3.接口不能有构造,抽象类可以有构造
4.接口是一种数据类型 all you known
int char boolean long short byte double float
String
数组
接口
类
枚举
5.接口可以多继承 FDDoor extends Door implements ILock,IRing{}
6.接口中所有的字段都必须是公有的静态常量
7.接口所有方法都是公有的抽象方法
8.一个类实现某个接口的话,必须重写他的所有的抽象方法。
9.接口只是为实现它的类定义了规范,保证实现类的方法签名和接口中方法一致。
6.抽象类和接口的区别
01.抽象类中可以有普通方法,接口中不能
02.抽象类可以有构造,接口不能
03.抽象类中可以有普通字段,而接口中不行
04.抽象类不能实现多继承,接口可以
05.符合is a关系的选用抽象类,符合has a关系的选用接口
06.接口比抽象类抽象程度更高