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 Main {
  int sum;
  //Первый конструктор
  Main() {
    //Вызов второго конструктора
    this(5, 2);
  }
  //Второй конструктор
  Main(int arg1, int arg2) {
    //Сложение двух значений
    this.sum = arg1 + arg2;
  }
  void display() {
    System.out.println("Общая сумма: " + sum);
  }
  //Класс main
  public static void main(String[] args) {
    // Вызов первого конструктора
    Main obj = new Main();
    //Вызов метода отображения
    obj.display();
  }
}

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

Общая сумма: 7

В примере выше мы создали класс с именем Main. Здесь вы создали два конструктора в классе Main.

Main() {..}
Main(int arg1, int arg2) {...}

В первом конструкторе мы используем ключевое слово this для вызова второго конструктора.

this(5, 2);

Здесь вызов второго конструктора из первого конструктора осуществляется через передачу параметров 5 и 2.

Внимание: Строка вызова другого конструктора в конструкторе должна быть первой строкой этого конструктора. То есть, this(5, 2) должна быть первой строкой Main().

Пример 2: Вызов конструктора суперкласса из конструктора подкласса

Мы также можем использовать super(), чтобы вызвать конструктор суперкласса из конструктора подкласса.

//Суперкласс
class Languages {
  //Конструктор суперкласса
  Languages(int version1, int version2) {
    if (version1 > version2) {
      System.out.println("Новая версия: " + version1);
    }
    else {}}
      System.out.println("Последняя версия: " + version2);
    }
  }
}
// подкласс
class Main extends Languages {
  // конструктор подкласса
  Main() {
    // вызов конструктора суперкласса
    super(11, 8);
  }
  // метод main
  public static void main(String[] args) {
    // Вызов первого конструктора
    Main obj = new Main();
  }
}

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

Последняя версия: 11

В примере выше мы создали суперкласс Languages и подкласс Main. Обратите внимание на следующие строки в конструкторе класса Main:

super(11, 8);

Здесь мы вызываем конструктор суперкласса (Main(int version1, int version2)) из конструктора подкласса (Main()).

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