I dette eksempel lærer vi, hvordan vi kan kalde en konstruktør fra en anden konstruktør i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java-konstruktører
- Java-metoder
Eksempel 1: Java-program til at kalde en konstruktør fra en anden
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(); ) )
Produktion
Summen er: 7
I ovenstående eksempel har vi oprettet en klasse ved navn Main. Her har du oprettet to konstruktører inden for hovedklassen.
Main() (… ) Main(int arg1, int arg2) (… )
Inde i den første konstruktør har vi brugt this
nøgleord til at kalde den anden konstruktør.
this(5, 2);
Her kaldes den anden konstruktør fra den første konstruktør ved at videregive argumenter 5 og 2 .
Bemærk : Linjen inde i en konstruktør, der kalder en anden konstruktør, skal være konstruktørens første linje. Det vil sige, this(5, 2)
skulle være den første linje i Main()
.
Eksempel 2: Ring til superklassens konstruktør fra konstruktøren i barneklassen
Vi kan også kalde konstruktøren af superklassen fra konstruktøren til barneklassen ved hjælp af 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(); ) )
Produktion
Den seneste version er: 11
I eksemplet ovenfor har vi oprettet en superklasse ved navn Languages og en subklasse Main. Læg mærke til linjen inde i konstruktøren af hovedklassen
super(11, 8);
Her kalder vi konstruktøren af superklassen (dvs. Languages(int version1, int version2)
) fra konstruktøren af underklassen ( Main()
).