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 программы

Java полный список примеров

В этом примере мы будем изучать, как реализовать частный конструктор в Java.

Чтобы понять этот пример, вы должны знать следующее:Java программированиеТема:

Пример 1: Создание Java-программы с частным конструктором

class Test {
  //Создание частного конструктора
  private Test() {
    System.out.println("Это частный конструктор.");
  }
  //Создание общественного статического метода
  public static void instanceMethod() {
    //Создание экземпляра класса Test
    Test obj = new Test();
  }
}
class Main {
  public static void main(String[] args) {
    //Вызов instanceMethod()
    Test.instanceMethod();
  }
}

Результат вывода

Это частный конструктор.

В предыдущем примере мы создали частный конструктор класса Test. Поэтому мы не можем создать объект этого класса вне класса Test.

Вот почему мы создали в классе общедоступный статический метод instanceMethod(), который используется для создания объекта класса Test. В классе Main мы вызываем этот метод через имя класса.

Пример 2: Паттерн Singleton Java с использованием частного конструктора

Java-паттерн Singleton обеспечивает наличие только одного экземпляра класса. Для этого мы используем частный конструктор.

class Language {
  //Создание公共ного статического переменного класса
  private static Language language;
  //Частный конструктор
  private Language() {
    System.out.println("Внутренний частный конструктор");
  }
  //Общедоступный статический метод
  public static Language getInstance() {
     //Создание объекта (если он еще не создан)
     if(language == null) {
        language = new Language();
     }
      //Возврат объекта Singleton
      return language;
  }
  public void display() {
      System.out.println("Реализован паттерн Singleton");
  }
}
class Main {
  public static void main(String[] args) {
     Language db1;
     //Вызов метода getInstance
     db1 = Language.getInstance();
     db1.display();
  }
}

Результат вывода

Внутренний частный конструктор
Реализован паттерн Singleton

В предыдущем примере мы создали класс под названием Languages. Этот класс содержит:

  • language - классовый частный переменная типа

  • Language() - private constructor

  • getInstance() - public static метод класса типа

  • display() - public метод

Поскольку constructor является частным, мы не можем создавать объект Language снаружи класса. Поэтому мы создаем объект этого класса в методе getInstance().

но мы установили условие, чтобы создать только один объект, и этот метод возвращает объект.

Обратите внимание на эту строку

db1 = Language.getInstance();

здесь

  • db1 является переменной типа Language

  • Language.getInstance() - Вызов метода getInstance()

Поскольку getInstance() возвращает объект класса Language, переменной db1 был分配лен возвращенный объект.

В конце концов, мы вызвали метод display() с помощью объекта.

Java полный список примеров