按照設計,在Singleton
模式中,構造函數應該被標記爲private,並提供一個創建方法,以重新調用相同類型實例的私有靜態成員。我只創建了這樣的單例類。我應該爲我的單例類創建受保護的構造函數嗎?
public class SingletonPattern {// singleton class
private static SingletonPattern pattern = new SingletonPattern();
private SingletonPattern() {
}
public static SingletonPattern getInstance() {
return pattern;
}
}
現在,我必須擴展一個單例類來添加新的行爲。但是私有構造函數不會讓定義子類。我正在考慮將默認構造函數更改爲單例基類的受保護構造函數。
如果我將構造函數定義爲protected
,會出現什麼問題?
尋找專家的意見....