當前位置:才華齋>計算機>java語言>

Java中的抽象類

java語言 閱讀(2.3W)

導語:抽象方法是沒有方法體的,這樣的呼叫無意義。那麼Java中的抽象類有什麼意義呢?讓我們瞭解一下吧!

Java中的抽象類

  (1)多個類有相同的方法宣告,但是方法體不一樣。這個時候,我們考慮把方法宣告進行抽取。

讓子類繼承後,自己去實現方法體。沒有方法體的方法,我們需要用抽象標誌下。

抽象的關鍵字是:abstract。

  (2)抽象類:

該方法稱為抽象方法,包含抽象方法的類就是抽象類。

  (3)抽象類的特點:

A:抽象類和抽象方法都要用abstract進行修飾

B:抽象類不能被例項

C:抽象類中不一定有抽象方法,但是,有抽象方法的類一定是抽象類。

  (4)抽象類中資料的特點

A:成員變數

抽象類中可以有變數,也可以有常量。

B:成員方法

抽象類中可以有抽象方法,也可以有非抽象方法。

C:構造方法

抽象類是一個類,所以,它有構造方法。

雖然本身不能例項化。但是可以給子類例項化使用。

  (5)抽象類中的問題

A:抽象類中是否有構造方法?能不能被例項化?如果不能,為什麼有構造方法?

抽象類有構造方法。

抽象類不能被例項化。

抽象類中的構造方法供子類例項化呼叫。

B:抽象關鍵字abstract不可以和哪些關鍵字共存?

**private:

私有內容子類繼承不到,所以,不能重寫。

但是abstract修飾的方法,要求被重寫。兩者衝突。

**final

final修飾的'方法不能被重寫。

而abstract修飾的方法,要求被重寫。兩者衝突。

**static

假如一個抽象方法能通過static修飾,那麼這個方法,就可以直接通過類名呼叫。

而抽象方法是沒有方法體的,這樣的呼叫無意義。所以,不能用static修飾。

C:抽象類中可不可以沒有抽象方法?如果可以,這樣的類有什麼用嗎?

抽象類可以沒有抽象方法。

抽象類中沒有抽象方法的作用,只是為了不讓別的類建立該抽象類物件。這個在awt中有體現。