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

2021-09-25 18:18:17 字數 776 閱讀 1526

單例模式:乙個類只有乙個例項化的物件,單例模式實現的核心是構造方法私有化,這樣就不能在類的外部建立該類的例項化物件,要想在類的外部使用構造方法私有化的類物件,只能在類的內部例項化乙個類物件,然後通過靜態方法返回該例項物件的引用,在外部進行呼叫

例如:建立乙個構造方法私有化的person類

public class person

}

這樣不能在外部例項化這個person物件的類,要想在person類的外部使用person類的物件,只能在person類的內部例項化乙個person類的物件,並通過靜態方法返回例項化物件的引用,而不能在外部例項化新的物件(不能用new建立乙個新的例項化物件)

public class testsiglemodel 

}class person;

private person(string name)

static public person getinstance()

public void print()

}

這樣外部的person類的所有物件只能是對person內部newperson物件的引用。

外部一千一萬個物件也都只能是對person內部newperson物件的引用。

因為外部定義的person類物件沒有例項化能力。這就是單例設計模式,從頭至尾只有乙個物件的例項(單例)

Java 構造方法私有化與單例模式

先看乙個程式 class singleton public class test 上面的singleton類裡是存在構造方法的 如果乙個類中沒有明確的定義乙個構造方法的話,會自動生成乙個無參預設的構造方法 現在把構造方法修改一下 class singleton 構造方法私有化 public void...

構造方法私有化 單例模式 Singleton

因程式需要,有時我們只需要某個類同時保留乙個物件,不希望有更多物件,此時,我們則應考慮單例模式的設計。例子 在日常生活中,有的時候為了出現二義性,我們把很多事情安排到乙個人來操作。就像我們想要得到特供的茅台酒的話,我們平常人是不可能弄到的。那必須找到這個的負責人,那麼不管誰都會找這個負責人才可以。這...

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

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