抽象類的理解 沒有寫例項歡迎補充

2021-09-25 03:18:00 字數 1022 閱讀 2197

如果乙個類中,有方法沒有方法體.那麼這個方法就是抽象方法

即,方法只有宣告,沒有方法體

如果乙個類中,只要有抽象方法,那麼這個類就是抽象類(與其中的屬性無關)

說明這個類不具體

抽象類也是類,有類就可以放屬性和方法(帶方法體和不帶的)

抽象類中可以放置屬性,屬性是用來儲存資料的

抽象類中可以放置有方法體的方法.此方法能夠完成某個功能

抽象類中可以放置沒有方法體的仿古,這個方法就是抽象方法

只要類中有乙個抽象方法,這個類就是抽象類

抽象類是不能例項化物件,因為抽象類有抽象方法

程式設計師不能例項化,並不等於jvm不能例項化物件

抽象類只能當父類

如果在子類中把所有的抽象方法都補上方法體

那麼這子類就不是抽象類了,就可以例項化物件,同時也可以呼叫方法

如果在子類中沒有把所有的抽象方法都補上方法體

那麼這個類還是抽象類,滿足抽象類的用法

抽象方法不能用static,final,private修飾

在父類中有一些方法沒有方法體,或者沒有必要給上方法體

此時把方法做成抽象方法,那麼此類就成抽象類

比如:

shap形狀類中有乙個draw()繪製圖形的方法

********繼承自shap類,draw()方法就可以繪製三角形

retangle繼承自shap類.draw()方法就可以繪製矩形

shap類中的draw方法 就應該是抽象方法,

因為shap不代表具體形狀.所以沒辦法複製

抽象類抽象到極致,所有的方法都沒有方法體,此情況不建議做成類,建議做成介面

介面的理解

沒有抽象方法的抽象類

inte ce inter demoa,只需要其中乙個方法,就要實現介面的所有方法 class demoa implements inter public void show2 public void show3 public void show4 如果再來個demob,只用其中乙個方法,還要實現介...

沒有抽象方法的抽象類

抽象類不能例項化,它的作用就是產生子類的同時給於子類一些特定的屬性和方法.但是jdk中很多類中沒有抽象方法卻定義為了抽象類,如果只是為了讓其不能例項化的話,將構造器私有化也是可以的,為什麼要這麼做呢?一般來說如果抽象類中總要有些抽象方法去讓子類實現,但是沒有抽象方法的抽象類就和普通類差不多了,這種抽...

抽象類與介面初涉 歡迎大家補充指點

關於定義,網路或者書籍中有相當多的解釋和描述,這邊只用形象的說法來解釋,易於理解最重要。簡單的說,抽象類就是對物件的抽象,用於進行型別隱藏。如 小狗 小貓都屬於寵物,都會叫,要吃和睡。這時,我們要定義類的話 最原始的方法,就是寫兩個類。但是很多東西是重複的,暫先不考慮多型的使用。這時,我們把相同的東...