В этом примере мы узнаем, как мы можем вызвать один конструктор из другого конструктора в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Конструкторы Java
- Методы Java
Пример 1: Java-программа для вызова одного конструктора из другого
class Main ( int sum; // first constructor Main() ( // calling the second constructor this(5, 2); ) // second constructor Main(int arg1, int arg2) ( // add two value this.sum = arg1 + arg2; ) void display() ( System.out.println("Sum is: " + sum); ) // main class public static void main(String() args) ( // call the first constructor Main obj = new Main(); // call display method obj.display(); ) )
Вывод
Сумма: 7
В приведенном выше примере мы создали класс с именем Main. Здесь вы создали два конструктора внутри класса Main.
Main() (… ) Main(int arg1, int arg2) (… )
Внутри первого конструктора мы использовали this
ключевое слово для вызова второго конструктора.
this(5, 2);
Здесь второй конструктор вызывается из первого конструктора путем передачи аргументов 5 и 2 .
Примечание . Строка внутри конструктора, вызывающая другой конструктор, должна быть первой строкой конструктора. То есть this(5, 2)
должна быть первая строка Main()
.
Пример 2: вызов конструктора суперкласса из конструктора дочернего класса
Мы также можем вызвать конструктор суперкласса из конструктора дочернего класса, используя super()
.
// superclass class Languages ( // constructor of the superclass Languages(int version1, int version2) ( if (version1> version2) ( System.out.println("The latest version is: " + version1); ) else ( System.out.println("The latest version is: " + version2); ) ) ) // child class class Main extends Languages ( // constructor of the child class Main() ( // calling the constructor of super class super(11, 8); ) // main method public static void main(String() args) ( // call the first constructor Main obj = new Main(); ) )
Вывод
Последняя версия: 11
В приведенном выше примере мы создали суперкласс с именем Languages и подкласс Main. Обратите внимание на строку внутри конструктора класса Main
super(11, 8);
Здесь мы вызываем конструктор суперкласса (т.е. Languages(int version1, int version2)
) из конструктора подкласса ( Main()
).