抽象类abstract class | 接口 interface |
---|---|
定义:包含抽象方法的类 | 包含抽象方法(省略了public abstract),包含静态常量(省略 public static final) |
组成:拥有构造器(控制子类的实例化),抽象方法(abstract),普通成员方法,成员变量;静态方法,静态变量,常量; | 拥有静态常量,抽象方法,default方法,Java9引入了private私有方法,为了使default方法更加简洁 |
使用:子类extends 抽象类 | 子类实现implements 接口 |
关系:子类只能继承一个抽象类,抽象类可以实现多个接口 | 子类可以实现多个接口,接口不能继承类;但可以继承多接口,这一特性大大提高了接口的灵活扩展能力 |
使用选择:如果要继承父类的成员变量,或者要控制子类实例化,优先选择抽象类 | 其他情况优先选择借口,避免了单继承的局限性,提高扩展能力 |
Java 抽象类与接口的联系
最新推荐文章于 2024-09-26 11:16:12 发布