- Java中接口和抽象類的異同 推薦度:
- 相關推薦
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中有體現。
【Java中的抽象類】相關文章:
Java中接口和抽象類的異同08-12
java繼承抽象類07-28
抽象類java的概念理解09-06
理解Java的接口與抽象類06-22
Java中finally的問題09-28
JAVA中的main函數10-04
java中對ServletsJSP的描述04-24
接口和抽象類的區別05-09
Java中的Collection類概述06-22
Java中的Spring入門實例09-15