U ovom ćemo primjeru naučiti kako možemo pozvati jedan konstruktor iz drugog konstruktora u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java konstruktori
- Java metode
Primjer 1: Java program za pozivanje jednog konstruktora iz drugog
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(); ) )
Izlaz
Zbroj je: 7
U gornjem primjeru stvorili smo klasu pod nazivom Main. Ovdje ste stvorili dva konstruktora unutar klase Main.
Main() (… ) Main(int arg1, int arg2) (… )
Unutar prvog konstruktora koristili smo this
ključnu riječ za pozivanje drugog konstruktora.
this(5, 2);
Ovdje se drugi konstruktor poziva iz prvog konstruktora prosljeđivanjem argumenata 5 i 2 .
Napomena : Redak unutar konstruktora koji poziva drugi konstruktor trebao bi biti prvi redak konstruktora. Odnosno, this(5, 2)
trebao bi biti prvi redak Main()
.
Primjer 2: Pozovite konstruktor superklase iz konstruktora podređene klase
Konstruktor superklase također možemo nazvati iz konstruktora dječje klase pomoću 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(); ) )
Izlaz
Najnovija verzija je: 11
U gornjem primjeru stvorili smo superrazred pod nazivom Jezici i podrazred Glavni. Unutar konstruktora klase Main primijetite crtu,
super(11, 8);
Ovdje pozivamo konstruktor superklase (tj. Languages(int version1, int version2)
) Iz konstruktora potklase ( Main()
).