java中的抽象类和接口
抽象类:
抽象类用abstract修饰,抽象类无法实例化对象,但是抽象类中有构造方法,供子类使用。抽象类中不一定含有抽象方法。
一个非抽象类如果继承了抽象类,就必须覆盖/重写抽象类中的全部抽象方法。
接口:
接口时一种引用数据类型,可以等同看作类;接口是一个特殊的抽象类,特殊在接口完全抽象;接口无法实例化,也没有构造函数;接口编译生成的也是.class文件;接口中只允许出现常量和抽象方法;接口中常量的public static final可以省略;接口中抽象方法的public abstract可以省略;接口中所有的数据都是public修饰的(即使不写也是);类和类之间有继承(extends)关系,类和接口之间可以有实现(implements)关系;一个类只能有一个父类,但可以实现多个接口(接口之间以逗号隔开),格式为class A extends B implements C,D,E;一个非抽象的类,实现接口之后,必须将接口中的抽象方法全部实现/覆盖/重写;接口与接口之间可以有多继承。
接口作用:使项目中的对象变得具有很强的可插拔、可接插特性。
接口和抽象类都是抽象的,当它们都可以完成某个功能的时候,优先选择接口。一个类当实现接口之后,还有机会去继承其它类。【使用接口,保留了类的继承】但是一个类继承另一个类之后,不能再去继承其它的类。

浙公网安备 33010602011771号