Java中抽象类和具体类的区别


在Java中,抽象是通过抽象类和接口实现的。抽象类包含抽象方法,子类需要实现这些方法。以下是抽象类和具体类之间的一些重要区别。

序号 关键点 抽象类 具体类
1 支持的方法 抽象类可以同时具有抽象方法和具体方法。 具体类只能包含具体方法。即使只有一个抽象方法,也会使该类成为抽象类。
2 实例化 不能使用new关键字实例化抽象类。 可以使用new关键字实例化具体类。
3 抽象方法 抽象类可以有也可以没有抽象方法。 具体类不能有抽象方法。
4 final关键字 抽象类不能声明为final类。 具体类可以声明为final类。
5 关键字 抽象类使用abstract关键字声明。 具体类声明时不使用abstract关键字。
6 继承 抽象类可以使用extends关键字继承另一个类并实现接口。 接口只能继承接口。
7 接口 抽象类不能单独实现接口。需要子类才能使用接口进行实例化。 接口可以很容易地实现。

抽象类与具体类的示例

public class JavaTester {
   public static void main(String args[]) {
      Cat lion = new Lion();
      lion.eat();
   }
}
abstract class Cat {
   abstract public void eat();
}
class Lion extends Cat{
   public void eat(){
      System.out.println("Lion eats");
   }
}

输出

Lion eats 

更新于: 2023年12月8日

11K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告