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
廣告