不能建立物件的三種情況!!!

2021-09-23 08:11:07 字數 687 閱讀 6589

第一種:private修飾的私有物件

構造方法私有,不能建立物件

原因: 因為子類要建立物件,繼承父類。就得呼叫父類的構造方法,此時父類的構造方法被私有了。也就不能建立物件了。

原因:抽象類(父類)裡的方法很有可能是抽象方法。假如抽象類也能建立物件,建立物件之後,它呼叫自己的方法,而此時的方法卻沒有方法體,這時候建立的物件也沒有意義。所以說抽象類不能建立物件。

拿animal的例子來想,動物是乙個抽象類,抽象類不是具體的事物,如果建立乙個動物的物件,那它有可能是貓,也有可能是狗,那就不確定了。

原因:介面建立不了物件,因為成員變數預設都是常量。而構造方法是用來給成員變數初始化並賦值的,此時成員變數是常量,所以無意義。故介面沒有構造方法,也建立不了物件。

小插曲:子類有私有的成員變數,繼承父類之後,有參構造的變形

public class worker extends person

//有參構造

public worker(string name, string gender, int age, string nationality, string unit, int workage)

}

建立物件的三種方式

三 字面量方式建立物件 總結呼叫系統的建構函式建立物件 var 變數名 newobject object 是系統的建構函式自定義建構函式建立物件 結合第一種和需求通過工廠模式建立物件 字面量的方式建立物件 例項化物件 var obj newobject 物件有特徵 屬性 和行為 方法 新增屬性 物件...

C 建立物件的三種方式

c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系統管理...

建立執行緒物件的三種方式

建立執行緒物件的三種方式 1 自定義類繼承thread類,重寫run方法。public class rabbit extends thread 2 自定義類實現runnable介面,重寫run方法。使用靜態 建立thread 物件,啟動執行緒。public class programmer impl...