Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java 程序?qū)崿F(xiàn)私有構(gòu)造函數(shù)

Java 實例大全

在這個實例中,我們將學(xué)習(xí)用Java實現(xiàn)私有構(gòu)造函數(shù)。

要理解此示例,您應(yīng)該了解以下Java編程主題:

示例1:創(chuàng)建私有構(gòu)造函數(shù)的Java程序

class Test {

  //創(chuàng)建私有構(gòu)造函數(shù)
  private Test () {
    System.out.println("這是一個私有構(gòu)造函數(shù)。");
  }

  //創(chuàng)建一個公共靜態(tài)方法
  public static void instanceMethod() {

    //創(chuàng)建一個Test類的實例
    Test obj = new Test();
  }

}

class Main {

  public static void main(String[] args) {

    //調(diào)用instanceMethod()
    Test.instanceMethod();
  }
}

輸出結(jié)果

這是一個私有構(gòu)造函數(shù)。

在上面的示例中,我們創(chuàng)建了Test類的私有構(gòu)造函數(shù)。因此,我們不能在Test類之外創(chuàng)建該類的對象。

這就是為什么我們在類內(nèi)部創(chuàng)建了一個名為 instanceMethod()的公共靜態(tài)方法,該方法用于創(chuàng)建Test類的對象。 在Main類中,我們使用類名調(diào)用該方法。

示例2:使用私有構(gòu)造函數(shù)的Java 單例設(shè)計模式

Java 單例設(shè)計模式可確保一個類只有一個實例。為此,我們使用私有構(gòu)造函數(shù)。

class Language {

  //創(chuàng)建一個類類型的公共靜態(tài)變量
  private static Language language;

  //私有構(gòu)造函數(shù)
  private Language() {
    System.out.println("內(nèi)部私有構(gòu)造函數(shù)");
  }

  //公共靜態(tài)方法
  public static Language getInstance() {

     //創(chuàng)建對象(如果尚未創(chuàng)建)
     if(language == null) {
        language = new Language();
     }

      //返回單例對象
      return language;
  }

  public void display() {
      System.out.println("實現(xiàn)了單例模式");
  }
}

class Main {
  public static void main(String[] args) {
     Language db1;

     //調(diào)用getInstance方法
     db1= Language.getInstance();

     db1.display();
  }
}

輸出結(jié)果

內(nèi)部私有構(gòu)造函數(shù)
實現(xiàn)了單例模式

在上面的示例中,我們創(chuàng)建了一個名為Languages的類。該類包含:

  • language - 類類型 private 變量

  • Language() - private 構(gòu)造函數(shù)

  • getInstance() - public static 類類型方法

  • display() - public 方法

由于構(gòu)造函數(shù)是私有的,因此我們不能從外部類創(chuàng)建Language對象。 因此,我們在getInstance()方法內(nèi)創(chuàng)建了該類的對象。

但是,我們以僅創(chuàng)建一個對象的方式設(shè)置了條件。 并且,該方法返回對象。

注意這一行,

db1 = Language.getInstance();

這里,

  • db1 是 Language 類型的變量

  • Language.getInstance() - 調(diào)用方法getInstance()

由于getInstance()返回Language類的對象,因此為db1變量分配了返回的對象。

最后,我們使用對象調(diào)用了display()方法。

Java 實例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清