接口

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.接口比抽象类抽象程度更高

原文地址:https://www.cnblogs.com/fkx1/p/8537388.html