JAVA之抽象

抽象概念


數據抽象爲外界提供了僅有的基本信息,在表示基本特徵的過程中不包括實現細節。舉個真實世界的例子,比如

一本書。當你聽到是書時,你不知道具體的細節,如頁數顏射或者大小,但你明白書的概念、大概模樣。這就是

對書的抽象。抽象的概念是我們關注基本特徵,而不是一個特定的具體特徵。

 

在Java中,抽象是使用抽象類和接口實現的。

抽象類是使用abstract 關鍵字定義的。

  1. 如果一個類聲明抽象類,則不能被實例化(不能創建該類型的對象)。
  2. 要使用抽象類,必須從另一個類繼承它。
  3. 抽象類中不一定包含抽象方法,但是包含抽象方法的類必定是抽象類。

 

提示:抽象方法沒有定義,方法名後面直接跟一個分號,而不是一個花括號。

如:abstract void run();

抽象類

例如,我們可以將 Animal 類定義爲抽象類:

abstract class Animal {
  int legs = 0;
  abstract void barking();
}

barking 方法也是抽象的,因爲它在父類中沒有實現。

我們可以繼承 Animal 類併爲子類定義 barking() 方法:

class Dog extends Animal {
  public void barking() {
    System.out.println("Woof-Woof");
  }
}

每種動物都會發出聲音,但每種動物都有不同的叫聲。這就是我們爲什麼要定義一個抽象類 Animal 的原因,並且把它們如何發出聲音的實現留給子類。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章