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

在Java中,抽象是使用Abstract类和接口实现的。抽象类包含子类的抽象方法。以下是抽象类和具体类之间的重要区别。

序号

抽象类
具体课程
1
支持的方法
抽象类既可以具有抽象方法,也可以具有具体方法。
具体的类只能有具体的方法。甚至只有一个抽象方法也可以使类抽象。
2
实例化
不能使用new关键字实例化抽象类。
可以使用new关键字实例化具体类。
3
抽象方法
抽象类可能具有也可能没有抽象方法。
水泥桶不能有抽象方法。
4
最后
抽象类不能声明为最终类。
具体类可以声明为final。
5
关键词
使用abstract关键字声明的抽象类。
具体类在声明期间没有抽象关键字。
6
继承
抽象类可以使用extends关键字继承另一个类并实现一个接口。
接口只能继承一个接口。
7
接口
抽象类不能单独实现接口。需要一个子类才能使用该接口进行实例化。
接口可以轻松实现。

抽象类与具体类的示例

JavaTester.java

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