此時,無法例項化物件,無法例項化物件就無法呼叫print方法。public class demo08
}class demo
public void print()
}
public class demo08
}class demo
public static demo getinstance()
public void print()
}
分析:
為什麼要將構造方法私有化?
問:如果要限制乙個類物件產生,即:乙個類只能有乙個例項化物件,該怎麼做?
答:例項化物件肯定要呼叫構造方法,如果將構造方法藏起來,則外部肯定無法直接呼叫,就肯定不能用new關鍵字呼叫構造方法例項。
public class demo09
}class demo
public static demo getinstance()
public void print()
}
所以此設計在系統中稱為單例設計(單態設計),在windows中也有此設計的存在。windows中的**站,所有的盤都共享同乙個**站,這就是乙個典型的單態設計。
多例設計:
在類中會準備出多個物件,之後根據傳入的引數不同,可以返回不同的物件。
public class demo08
}class demo
public static demo getinstance(int t)
return d1;
} else if (t == 2)
return d2;
} else
}public void print()
}
構造方法私有化
本章目標 了解構造方法私有化的目的 掌握單態設計模式 構造方法私有化 類的封裝性不光體現在對屬性的封裝上,實際上方法也是可以被封裝的,當然,在方法封裝中也包含了對構造方法的封裝。例如 以下的 就是對構造方法進行了封裝。class singleton public void print 程式的意義 單...
私有化建構函式的作用
例如 public class diskutil public static func 這樣的類,往往提供一些靜態的函式來生成該類的例項,只要這個類有公開的屬性 方法,得到例項引用的一方還是可以呼叫的,乙個例子是singleton。外面呼叫只能呼叫diskutil 的靜態函式func,而不能a a ...
構造方法私有化作用
現在觀察以下的 class demo public void print 要求 例項化demo物件,同時呼叫print方法 public class demo08 此時,無法例項化物件,無法例項化物件就無法呼叫print方法。class demo public static demo getinst...