在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

更新於: 2019年7月30日

10K+ 次瀏覽

開啟您的職業生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.