建立private建構函式的物件

2021-08-05 22:07:56 字數 610 閱讀 3819

getconstructor()和getdeclaredconstructor()區別:

getdeclaredconstructor(class<?>... parametertypes)

//返回指定引數的構造器,包括public的和非public的,當然也包括private的。

getdeclaredconstructors()返回所有構造器。

getconstructor(class<?>... parametertypes)

只返回訪問許可權是public的構造器。

getconstructors()只返回訪問許可權是public的構造器,不過沒有型別限制。

//**如下

public

class ttest catch (exception e)

}} class demo

private

demo(string i)

@override

public string tostring()

}

輸出:demo string

demo

這樣的話宣告private還有什麼意義嗎?

建構函式 訪問許可權private

一 建構函式 具有建構函式的類會在每次建立新物件時先呼叫此方法,所以非常適合在使用物件之前做一些初始化工作。如果子類中定義了建構函式則不會隱式呼叫其父類的建構函式。要執行父類的建構函式,需要在子類的建構函式中呼叫parent construct 如果子類沒有定義建構函式則會如同乙個普通的類方法一樣從...

把建構函式設成private

在c 11中,把建構函式設成private,提供靜態的makeshared方法,可以實現在類的建構函式執行完成後,執行特定的操作。如下所示的 在sharedtest的建構函式完成後,執行print函式 include include include class sharedtest public s...

從private建構函式談單例模式

今天實現乙個單例的時候,想到多執行緒getinstance 時可能會有問題,就查了一下單例的幾種實現方式。有一種被稱為 餓漢式 的實現 1 class manager25 static manager m pinstance 67 public 8 manager getinstance 912 1...