私有構造方法 引申到設計模式中的單態模式

2021-09-01 19:27:11 字數 579 閱讀 4049

class person3 

public static person3 getp()

}public class testsingledemo2

}

輸出結果:

張三程式說明:

1、程式將person類的構造方法封裝起來,外部無法通過其構造方法產生例項化物件。

2、程式宣告乙個person類的例項化物件,此物件是在person類內部例項化,所以可以呼叫私有構造方法。另外,此物件被標識為static型別,表示為一靜態屬性,同時此物件被私有化,另外在宣告person物件的時候加上了乙個final關鍵字,此關鍵字表示person的物件p不能被重新例項化。

3、程式第21行宣告乙個person類的物件p,但未例項化。

4、程式第22行呼叫person類中的getp()方法,此方法返回person類的例項化物件。

從上面程式中可以發現,無論在person類的外部宣告多少個物件,最終得到的都是同乙個引用,因為此類只能產生乙個例項物件,這種做法在設計模式中稱為單態模式。而所謂設計模式也就是在大量的實踐中總結和理論化之後優選的**結構、程式設計風格以及解決問題的思考方式。

單列設計模式,構造方法私有化

什麼是構造方法 class person 人類 private string name private int age static void main string args 構造方法私有化 範例1 class single public class singledemo01 執行結果 不能編譯,...

構造方法私有化 単例設計模式

構造方法私有化,就不能直接在類的外面通過new 類名稱 來例項化物件了,這樣使用起來似乎不那麼方便了,那麼問題來了 class singleton public void print class singleton public void print public class singletonde...

0008 構造方法私有化與單例設計模式

class singleton public void print public class singletondemo02 被私有化構造方法的類不能在外部直接例項化,只能從其類的內部取得例項化物件。class singleton private singleton public void prin...