English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序实现私有构造函数

Esempi completi Java

在这个实例中,我们将学习用Java实现私有构造函数。

要理解此示例,您应该了解以下Java 编程主题:

Esempio 1: Creazione di un programma Java con costruttore privato

class Test {
  //Creazione del costruttore privato
  private Test() {
    System.out.println("Questo è un costruttore privato.");
  }
  //Creazione di un metodo pubblico statico
  public static void instanceMethod() {
    //Creazione di un'istanza della classe Test
    Test obj = new Test();
  }
}
class Main {
  public static void main(String[] args) {
    //Chiamata a instanceMethod()
    Test.instanceMethod();
  }
}

risultato di output

Questo è un costruttore privato.

Nell'esempio precedente, abbiamo creato il costruttore privato della classe Test. Pertanto, non possiamo creare un oggetto della classe Test al di fuori della classe Test.

Ecco perché abbiamo creato un metodo pubblico statico chiamato instanceMethod() all'interno della classe Test, che viene utilizzato per creare l'oggetto della classe Test. Nella classe Main, chiamiamo questo metodo utilizzando il nome della classe.

Esempio 2: Modello di progettazione Singleton Java utilizzando il costruttore privato

Il modello di progettazione Singleton Java garantisce che una classe abbia solo una istanza. Per questo, utilizziamo il costruttore privato.

class Language {
  //Creazione di una variabile pubblica statica di tipo classe
  private static Language language;
  //Costruttore privato
  private Language() {
    System.out.println("costruttore privato interno");
  }
  //Metodo pubblico statico
  public static Language getInstance() {
     //Creazione dell'oggetto (se non è stato creato)
     if(language == null) {
        language = new Language();
     }
      //Restituisce l'oggetto Singleton
      return language;
  }
  public void display() {
      System.out.println("implementato il modello Singleton");
  }
}
class Main {
  public static void main(String[] args) {
     Language db1;
     //Chiamata al metodo getInstance
     db1 = Language.getInstance();
     db1.display();
  }
}

risultato di output

costruttore privato interno
implementato il modello Singleton

Nell'esempio precedente, abbiamo creato una classe chiamata Languages. Questa classe contiene:

  • language - Variabile privata di tipo classe

  • Language() - Costruttore privato

  • getInstance() - Metodo pubblico statico di tipo classe

  • display() - Metodo pubblico

Poiché il costruttore è privato, non possiamo creare l'oggetto Language dall'esterno della classe. Pertanto, abbiamo creato l'oggetto della classe all'interno del metodo getInstance().

Ma abbiamo impostato la condizione per creare solo un oggetto e il metodo restituisce l'oggetto.

Attenzione a questa riga,

db1 = Language.getInstance();

Ecco qui,

  • db1 è una variabile di tipo Language

  • Language.getInstance() - Chiamata al metodo getInstance()

Poiché getInstance() restituisce un oggetto della classe Language, la variabile db1 è assegnata all'oggetto restituito.

Infine, abbiamo chiamato il metodo display() utilizzando l'oggetto.

Esempi completi Java