I det här exemplet lär vi oss hur vi kan ringa en konstruktör från en annan konstruktör i Java.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java-konstruktörer
- Java-metoder
Exempel 1: Java-program för att anropa en konstruktör från en annan
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
Summan är: 7
I ovanstående exempel har vi skapat en klass som heter Main. Här har du skapat två konstruktörer inom huvudklassen.
Main() (… ) Main(int arg1, int arg2) (… )
Inuti den första konstruktören har vi använt this
nyckelord för att ringa den andra konstruktören.
this(5, 2);
Här anropas den andra konstruktören från den första konstruktören genom att skicka argument 5 och 2 .
Obs! Linjen inuti en konstruktör som anropar en annan konstruktör ska vara konstruktionens första rad. Det vill säga this(5, 2)
bör vara den första raden av Main()
.
Exempel 2: Ring superklassens konstruktör från barnklassens konstruktör
Vi kan också ringa superklassens konstruktör från barnklassens konstruktör med 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 senaste versionen är: 11
I exemplet ovan har vi skapat en superklass med namnet Languages och en underklass Main. Lägg märke till linjen i huvudklassens konstruktör
super(11, 8);
Här kallar vi superklassens konstruktör (dvs. Languages(int version1, int version2)
) från underklassens konstruktör ( Main()
).