在Java中,我們可以將建構函式宣告為private嗎?
是的,我們可以將建構函式宣告為private。如果我們把一個建構函式宣告為private,我們無法建立一個類的物件。我們可以在單例設計模式中使用這個private建構函式。
私有建構函式的條件
- private建構函式不允許對一個類進行子類化。
- private建構函式不允許在類外部建立物件。
- 如果我們類中有所有常量方法,我們可以使用private建構函式。
- 如果所有方法都是static的,那麼我們可以使用private建構函式。
- 如果我們試圖擴充套件一個類,而該類有private建構函式,將會發生編譯時錯誤。
示例
class SingletonObject {
private SingletonObject() {
System.out.println("In a private constructor");
}
public static SingletonObject getObject() {
// we can call this constructor
if (ref == null)
ref = new SingletonObject();
return ref;
}
private static SingletonObject ref;
}
public class PrivateConstructorDemo {
public static void main(String args[]) {
SingletonObject sObj = SingletonObject.getObject();
}
}輸出
In a private constructor
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP