相同点:
- 抽象类和接口都不能实例化对象,但是可以定义抽象类和接口类型的引用;
- 继承抽象类和实现接口都要对其中的抽象方法全部实现;
不同点:
-
接口比抽象类更加抽象,抽象类中可以定义构造方法(构造器),可以有抽象方法和具体方法;
而接口中的方法全部都是抽象方法(接口中也可以没有方法,这样的接口称为空接口)
-
抽象类中的方法可以是private,protected,public,接口全部都是public
-
抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量(final)
-
有抽象方法的类必须声明为抽象类,而抽象方法未必要有抽象方法
-
类是单继承的关系,子类只能有一个直接父类,接口时多继承,可以有多个父接口。类实现接口也是多继承
-
JDK8:接口除了定义全局常量和抽象方法外,还可以定义静态方法、默认方法
本文深入解析了抽象类与接口的区别,包括抽象方法、构造方法、成员变量、继承关系及JDK8新增特性。掌握它们在设计多态和模块化中的应用。
641

被折叠的 条评论
为什么被折叠?



