沒有抽象方法的抽象類

2021-08-28 02:38:23 字數 776 閱讀 1368

inte***ce inter

//demoa,只需要其中乙個方法,就要實現介面的所有方法

class demoa implements inter

public void show2(){}

public void show3(){}

public void show4(){}

}//如果再來個demob,只用其中乙個方法,還要實現介面的所有方法

class demob implements inter

public void show2(){}

public void show1(){}

public void show4(){}

}class inte***cedemo4

}//問題:只需要部分功能,但是為了例項化,必須要全部覆蓋。

**的復用性很差。該如何解決呢?

abstract class demo implements inter //切記不能寫私有,建構函式是給子類初始化的,

私有了,就不能被繼承了

void show1(){}

void show2(){}

void show3(){}

void show4(){}

} //空實現

//可以用乙個類先把介面中的所有方法都是空實現。

該類建立物件沒有意義。所有可以將該類定義為抽象類

class demoa extends demo

class demob extends demo

沒有抽象方法的抽象類

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

抽象類 抽象方法

抽象類 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...