- Java中接口和抽象類的異同 推薦度:
- 相關(guān)推薦
Java中的抽象類
導(dǎo)語:抽象方法是沒有方法體的,這樣的調(diào)用無意義。那么Java中的抽象類有什么意義呢?讓我們了解一下吧!
(1)多個類有相同的方法聲明,但是方法體不一樣。這個時候,我們考慮把方法聲明進行抽取。
讓子類繼承后,自己去實現(xiàn)方法體。沒有方法體的方法,我們需要用抽象標(biāo)志下。
抽象的關(guān)鍵字是:abstract。
(2)抽象類:
該方法稱為抽象方法,包含抽象方法的類就是抽象類。
(3)抽象類的特點:
A:抽象類和抽象方法都要用abstract進行修飾
B:抽象類不能被實例化
C:抽象類中不一定有抽象方法,但是,有抽象方法的類一定是抽象類。
(4)抽象類中數(shù)據(jù)的特點
A:成員變量
抽象類中可以有變量,也可以有常量。
B:成員方法
抽象類中可以有抽象方法,也可以有非抽象方法。
C:構(gòu)造方法
抽象類是一個類,所以,它有構(gòu)造方法。
雖然本身不能實例化。但是可以給子類實例化使用。
(5)抽象類中的問題
A:抽象類中是否有構(gòu)造方法?能不能被實例化?如果不能,為什么有構(gòu)造方法?
抽象類有構(gòu)造方法。
抽象類不能被實例化。
抽象類中的構(gòu)造方法供子類實例化調(diào)用。
B:抽象關(guān)鍵字abstract不可以和哪些關(guān)鍵字共存?
**private:
私有內(nèi)容子類繼承不到,所以,不能重寫。
但是abstract修飾的方法,要求被重寫。兩者沖突。
**final
final修飾的方法不能被重寫。
而abstract修飾的方法,要求被重寫。兩者沖突。
**static
假如一個抽象方法能通過static修飾,那么這個方法,就可以直接通過類名調(diào)用。
而抽象方法是沒有方法體的,這樣的調(diào)用無意義。所以,不能用static修飾。
C:抽象類中可不可以沒有抽象方法?如果可以,這樣的類有什么用嗎?
抽象類可以沒有抽象方法。
抽象類中沒有抽象方法的作用,只是為了不讓別的類建立該抽象類對象。這個在awt中有體現(xiàn)。
【Java中的抽象類】相關(guān)文章:
Java中接口和抽象類的異同08-12
java繼承抽象類07-28
Java抽象類與接口的區(qū)別04-17
抽象類java的概念理解05-24
理解Java的接口與抽象類06-22
Java抽象類和接口的比較08-01
Java基礎(chǔ):抽象類和接口07-20
php中抽象類與抽象方法的用法07-15
java中反射機制05-26