沒有抽象方法的抽象類

2021-09-02 08:36:15 字數 369 閱讀 6921

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

一般來說如果抽象類中總要有些抽象方法去讓子類實現,但是沒有抽象方法的抽象類就和普通類差不多了,這種抽象類你不能例項化它,因為例項化它沒意義。

從設計角度上來說告訴類呼叫者,這個類是用來擴充套件的而不是用來使用的,即使類呼叫者不打算覆蓋抽象類的方法。這樣做有乙個好處就在於,抽象方法必須要實現,而實方法可以不用實現。類呼叫者只用覆蓋那些需要的方法,不需要的方法就不用覆蓋了。jdk內部有很多這樣的方法,例如事件偵聽的介面卡類就是這樣,它們偵聽介面進行了空實現,這樣使用者只需要實現自己需要的方法即可。

沒有抽象方法的抽象類

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

抽象類 抽象方法

抽象類 1.類名前有abstruct修飾。有構造方法。在建立抽象類的子類的時候,還是會先建立抽象父類的物件的。2.抽象類不能例項化是指不能手動的new。抽象方法 1.抽象方法 沒有方法體且需要用abstruct關鍵字修飾 作用 需要改變的地方都應該是抽象。抽象方法只能存在於抽象類或介面中。2.有抽象...

抽象類,抽象方法

1 抽象類中可以有實現的方法。抽象方法必須在抽象類中。using system using system.collections.generic using system.linq using system.text namespace test 抽象類可以包含抽象屬性 public int age...