У овом примеру ћемо научити како можемо позвати један конструктор из другог конструктора у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава конструктори
- Јава методе
Пример 1: Јава програм за позивање једног конструктора из другог
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(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
У горњем примеру створили смо суперкласу под називом Језици и подкласу Маин. Унутар конструктора класе Маин примети линију,
super(11, 8);
Овде позивамо конструктор суперкласе (тј. Languages(int version1, int version2)
) Из конструктора подкласе ( Main()
).