In dit voorbeeld zullen we leren hoe we een constructor kunnen aanroepen vanuit een andere constructor in Java.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-constructeurs
- Java-methoden
Voorbeeld 1: Java-programma om de ene constructor vanuit de andere aan te roepen
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(); ) )
Uitvoer
Som is: 7
In het bovenstaande voorbeeld hebben we een klasse gemaakt met de naam Main. Hier heb je twee constructors gemaakt binnen de Main-klasse.
Main() (… ) Main(int arg1, int arg2) (… )
Binnen de eerste constructor hebben we this
trefwoord gebruikt om de tweede constructor aan te roepen.
this(5, 2);
Hier wordt de tweede constructor aangeroepen vanuit de eerste constructor door argumenten 5 en 2 door te geven .
Opmerking : de regel in een constructor die een andere constructor aanroept, moet de eerste regel van de constructor zijn. Dat wil zeggen, this(5, 2)
zou de eerste regel moeten zijn van Main()
.
Voorbeeld 2: Roep de constructor van de superklasse aan vanuit de constructor van de kindklasse
We kunnen de constructor van de superklasse ook aanroepen vanuit de constructor van child class met 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(); ) )
Uitvoer
De laatste versie is: 11
In het bovenstaande voorbeeld hebben we een superklasse gemaakt met de naam Talen en een subklasse Hoofdklasse. Let in de constructor van de Main-klasse op de regel,
super(11, 8);
Hier noemen we de constructor van de superklasse (ie Languages(int version1, int version2)
) vanuit de constructor van de subklasse ( Main()
).