定义接口使用的是接口是interface
对于接口中常见的成员,而且这些成员都有固定的修饰符(不写帮你加):
1、全局常量:public static final(不定义为常量的话会被接口所实现的类到处修改)
2、抽象方法:public abstract
接口的特点:
1、接口是对外暴露的规则
2、接口是程序的功能扩展
3、接口的出现降低了耦合性
4、接口是对方法的抽象
接口与抽象类的区别:
相同点:都是不断向上抽取而来
不同点:
1、抽象类需要被继承且只能单继承,接口需要被实现且可以多实现
2、抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽象方法
接口中只能定义抽象方法,必须由子类实现
3、抽象类的继承是is a关系,在定义该体系的基本共性内容
接口实现是like a关系,在定义体系额外功能
接口中的成员都是公共的权限
只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。否则,这个子类就是一个抽象类。
在JAVA中不直接支持多继承,因为会出现调用的不确定性,所以在JAVA中变成了多实现。
一个类可以实现多个接口。
接口的好处可以体现在下图中:
接口A和接口B中有相同的方法,但是接口是抽象方法,需要实现,因此Test这个实现类可以把两个接口中的方法都覆盖掉,从而解决冲突。
一个类在继承另一个类的同时,还可以实现多个接口
接口与接口之间是继承关系,而且接口可以多继承!!!!!!!!