- Interface定义
- 关于Interfece的成员变量和成员方法
- 关于Interface的继承
- Abstract class和interface的区别
关于Interfece的成员变量和成员方法
- 因为java中没有多继承(一个子类只能有一个父类),所以提出了接口的概念
- 接口的本质——接口是一种特殊的抽象类,这种抽象类里面只包含常量和方法的定义,而没有变量和方法的实现.
关于Interface的继承
- Interfce的属性(即成员变量)必须是声明成“public static final 类型,即使默认也是成“public static final”. (因为是static final类型,所以在声明时必须要初始化赋值)
- Interface中的方法全部为抽象方法,但是不需要使用abstract修饰,并且默认权限也是public
- Interface中没有构造方法
- 一个类可以实现多个接口,接口里面的成员变量不专属于某个对象,都是静态的成员变量,是属于整个类的,因此一个类去实现多个接口也是无所谓的,不会存在对象之间互相冲突的问题。实现多个接口,也就实现了多重继承,而且又避免了多重继承容易出现问题的地方(菱形继承),这就是用接口实现多重继承的好处.
- 当一个类实现多个接口并且需要使用接口的方法时,需要进行类型转换
- 下图中People同时实现people interface和id interface,
jobType是people interface的方法,idNumber是ID interface的方法
Abstract class和interface的区别
- Interface可以继承interface,继承时使用extends 关键字。比如interfaceB继承interfaceA,而实现interfaceB的类必须要implement A和B的所有方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)