接口:
A类,B类,C类,ABC均不相同
D类,含有ABC中的一些特点
有时我们需要从多个不相关的类中设计出一个子类型,而java继承是单继承的特点
无法满足我们的需求,所以我们可以使用接口来达到多继承的目的
接口实际上就是一种规范制度。(规则与规范--与抽象类差不多)
接口的特点:
1、接口使用interface关键字,而不是class,但是我们可以理解成
接口是特殊的抽象类
2、接口里只能有抽象方法和常量
【(1.8以后支持默认方法和静态方法,静态成员变量可以添加,必须初始化,因为接口不能添加构造器。)
】
3、接口不能实例化,创建对象没有任何意义
4、接口不能提供构造器,static修饰的需要先加载到内存中,如果没有初始化,会默认提供值,
而final修饰的成员变量不能再改变,而构造器主要作用是初始化成员变量,常量不能被再次赋值
所以无法提供构造器
接口中的常量:
默认使用public static final (可以不写)
接口中的方法:
默认使用 public abstract(可以不写)
接口的实现
1、子类需要实现接口中的所有抽象方法
2、implements 关键字进行实现
3、如果子类没有实现所有抽象方法,那么子类需要使用abstract修饰
---如果只实现一部分,那么这个类就存在抽象方法,有抽象方法的一定是抽象类
4、子类可以实现多个接口,接口见使用逗号分开
接口间的继承
1、接口与接口之间可以使用继承
子接口继承父接口的抽象方法