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
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP