亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Java 菜鳥(niǎo)教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

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

Java 實(shí)例大全

在這個(gè)實(shí)例中,我們將學(xué)習(xí)用Java實(shí)現(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è)私有構(gòu)造函數(shù)。");
  }

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

    //創(chuàng)建一個(gè)Test類(lèi)的實(shí)例
    Test obj = new Test();
  }

}

class Main {

  public static void main(String[] args) {

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

輸出結(jié)果

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

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

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

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

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

class Language {

  //創(chuàng)建一個(gè)類(lèi)類(lèi)型的公共靜態(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)建對(duì)象(如果尚未創(chuàng)建)
     if(language == null) {
        language = new Language();
     }

      //返回單例對(duì)象
      return language;
  }

  public void display() {
      System.out.println("實(shí)現(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ù)
實(shí)現(xiàn)了單例模式

在上面的示例中,我們創(chuàng)建了一個(gè)名為L(zhǎng)anguages的類(lèi)。該類(lèi)包含:

  • language - 類(lèi)類(lèi)型 private 變量

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

  • getInstance() - public static 類(lèi)類(lèi)型方法

  • display() - public 方法

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

但是,我們以?xún)H創(chuàng)建一個(gè)對(duì)象的方式設(shè)置了條件。 并且,該方法返回對(duì)象。

注意這一行,

db1 = Language.getInstance();

這里,

  • db1 是 Language 類(lèi)型的變量

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

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

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

Java 實(shí)例大全