> 育儿
java抽象类与抽象方法(java中的抽象类是什么意思)
导语:如何区分Java中的抽象类(abstract class)和接口(interface)
1、相同点
①抽象类和接口都不能实例化,但可以声明。
比如:
public abstract class Student
{
……
}
∥声明抽象类
Student student;∥OK
Student student = new Student();∥错误
②一个类继承了某个抽象类,或实现了某个接口,其中的抽象方法全部都必须要实现,否则该类仍然需要声明为抽象类(abstract class)。
2、不同点
①有抽象方法的类一定是抽象类,而抽象类不一定有抽象方法。
②接口中包含的方法一定是抽象方法。但Java JDK1.8中接口可以有方法体,子类可以不用重写接口中已实现的方法。
③抽象类中的成员可以是private、default(即不写访问修饰符)、protected、public的,而接口中的成员全都是public的。
④接口比抽象类更抽象,因为抽象类中可以定义构造器、成员变量和具体方法。
⑤抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。
本文内容由小纳整理编辑!