搜索
写经验 领红包
 > 育儿

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的。

④接口比抽象类更抽象,因为抽象类中可以定义构造器、成员变量和具体方法。

⑤抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。

本文内容由小纳整理编辑!