V tomto príklade sa dozvieme, ako môžeme v Jave zavolať jedného konštruktora od iného konštruktora.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Konštruktory Java
- Metódy Java
Príklad 1: Program Java na volanie jedného konštruktora z druhého
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(); ) )
Výkon
Súčet je: 7
Vo vyššie uvedenom príklade sme vytvorili triedu s názvom Main. Tu ste vytvorili dva konštruktory vo vnútri hlavnej triedy.
Main() (… ) Main(int arg1, int arg2) (… )
Vo vnútri prvého konštruktora sme použili this
kľúčové slovo na volanie druhého konštruktora.
this(5, 2);
Tu sa volá druhý konštruktor z prvého konštruktora odovzdaním argumentov 5 a 2 .
Poznámka : Riadok vo vnútri konštruktora, ktorý volá iného konštruktora, by mal byť prvým riadkom konštruktora. To znamená, že this(5, 2)
by malo ísť o prvý riadok Main()
.
Príklad 2: Zavolajte konštruktor nadtriedy z konštruktora podradenej triedy
Môžeme tiež zavolať konštruktor nadtriedy z konštruktora podradenej triedy pomocou 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(); ) )
Výkon
Posledná verzia je: 11
Vo vyššie uvedenom príklade sme vytvorili nadtriedu s názvom Jazyky a podtriedu Main. Vo vnútri konštruktora hlavnej triedy si všimnite riadok,
super(11, 8);
Tu voláme konštruktor nadtriedy (tj. Languages(int version1, int version2)
) Z konštruktora podtriedy ( Main()
).