V tem primeru bomo izvedeli, kako lahko pokličemo enega konstruktorja iz drugega konstruktorja v Javi.
Če želite razumeti ta primer, morate poznati naslednje programske teme Java:
- Java Constructors
- Java metode
Primer 1: Program Java za klic enega konstruktorja iz drugega
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(); ) )
Izhod
Vsota je: 7
V zgornjem primeru smo ustvarili razred z imenom Main. Tukaj ste ustvarili dva konstruktorja znotraj razreda Main.
Main() (… ) Main(int arg1, int arg2) (… )
Znotraj prvega konstruktorja smo uporabili this
ključno besedo za klic drugega konstruktorja.
this(5, 2);
Tu se drugi konstruktor pokliče iz prvega konstruktorja s predajo argumentov 5 in 2 .
Opomba : Vrstica znotraj konstruktorja, ki pokliče drug konstruktor, mora biti prva vrstica konstruktorja. To pomeni, da this(5, 2)
bi morala biti prva vrstica Main()
.
Primer 2: Pokliči konstruktor superklase iz konstruktorja otroškega razreda
Konstruktor superklase lahko pokličemo tudi iz konstruktorja otroškega razreda z uporabo 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(); ) )
Izhod
Najnovejša različica je: 11
V zgornjem primeru smo ustvarili nadrazred z imenom Jeziki in podrazred Main. V konstruktorju razreda Main opazite vrstico,
super(11, 8);
Tu pokličemo konstruktor nadrazreda (tj. Languages(int version1, int version2)
) Iz konstruktorja podrazreda ( Main()
).