KodeGym/Blog Jawa/Acak/Konstruktor Chaining ing Jawa
John Squirrels
tingkat
San Francisco

Konstruktor Chaining ing Jawa

Diterbitake ing grup

Apa Constructor Chaining?

Konstruktor ing Jawa minangka cara khusus sing digunakake kanggo nggawe obyek kelas. Konstruktor dijaluk saben obyek kelas digawe. Bisa digunakake kanggo nemtokake nilai kanggo sifat obyek ing wektu nggawe. Bisa uga ana sawetara konstruktor ing kelas Jawa kanthi dhaptar parameter sing beda. Constructor chaining digunakake kanggo invoke beda implementasine saka konstruktor saka kelas padha / kelas induk ing wektu nggawe obyek.

Kepiye carane chaining konstruktor ditindakake ing Jawa?

Ana rong cara chaining konstruktor adhedhasar carane nelpon konstruktor. Padha kaya ing ngisor iki.
  • nggunakake tembung kunci iki () - kanggo nelpon konstruktor saka kelas sing padha
  • nggunakake super () keyword - kanggo nelpon konstruktor saka kelas induk
Iki diterangake ing conto ing ngisor iki.Constructor Chaining in Java - 1

Conto chaining konstruktor # 1 - Konstruktor dirantai nggunakake tembung kunci iki ().

Kita wis ngumumake papat konstruktor kanggo DerivedClass. Siji ora ana bantahan lan telu liyane kanthi argumen sing beda. Nang saben konstruktor, iki () tembung kunci digunakake kanggo nelpon konstruktor sabanjuré saka kelas padha.
package com.tutorialwriting.constchaining;

public class DerivedClass{

    String firstName;
    String country;
    int age;

    public DerivedClass() {
        // calling one argument constructor
        this("Maggie");
    }

    public DerivedClass(String firstName) {
        // calling two argument constructor
        this(firstName, 15);
    }

    public DerivedClass(String firstName, int age) {
        // calling three argument constructor
        this(firstName, age, "Australia");
    }

    public DerivedClass(String firstName, int age, String country) {
        this.firstName = firstName;
        this.age = age;
        this.country = country;
    }

    void displayValues() {
        System.out.println("First Name : " + firstName);
        System.out.println("Country : " + country);
        System.out.println("Age : " + age);
    }

    public static void main(String args[]) {
        DerivedClass object = new DerivedClass();
        object.displayValues();
    }
}
Output saka eksekusiConstructor Chaining in Java - 2

Conto chaining konstruktor #2 - Konstruktor dirantai nggunakake tembung kunci super ().

Ing kene, kelas anak nelpon konstruktor kelas induk nggunakake tembung kunci super () . BaseClass nduweni telung konstruktor. Konstruktor tanpa bantahan nelpon salah siji saka telung argumen-konstruktor BaseClass nggunakake iki () .
package com.tutorialwriting.constchaining;

public class BaseClass {

    public BaseClass() {
        //calling a three argument constructor of the same class
        this("Male", "English", "1989/11/10");
        System.out.println("I'm executed third!!!");
    }

    public BaseClass(String firstName, String surname, int idNo) {
        System.out.println("I'm executed first!");
        System.out.println("First name : " + firstName);
        System.out.println("Surname : " + surname);
        System.out.println("ID Number : " + idNo);
    }

    public BaseClass(String gender, String nationality, String birthDate) {
        System.out.println("I'm executed second!!");
        System.out.println("Gender : " + gender);
        System.out.println("Nationality : " + nationality);
        System.out.println("Birth Date : " + birthDate);
    }

}
DerivedClass wis loro konstruktor, saben nelpon konstruktor beda saka kelas super nggunakake super () .
package com.tutorialwriting.constchaining;

public class DerivedClass extends BaseClass {

    public DerivedClass() {
        //calling no argument constructor of the super class
        super();
    }

    public DerivedClass(String firstName, String surname, int idNo) {
        //calling three argument constructor of the super class
        super(firstName, surname, idNo);
    }

    public static void main(String args[]) {
        DerivedClass object2 = new DerivedClass("Paul", "Wilson", 123456);
        DerivedClass object1 = new DerivedClass();
    }
}
Output saka eksekusiConstructor Chaining in Java - 3

Panggilan konstruktor implisit vs eksplisit

Jawa nduweni rong cara kanggo nelpon konstruktor: Panggilan Implisit lan Panggilan Eksplisit.
  • Nelpon eksplisit nuduhake konstruktor nelpon tegas ing kode nggunakake iki () utawa super () .
  • Panggilan implisit nuduhake panggilan konstruktor tanpa argumentasi kelas super kanthi implisit nalika ora ana panggilan eksplisit saka konstruktor kelas anak. Ing tembung liyane, compiler nambah super () telpon minangka baris pisanan sembarang konstruktor saka kelas anak yen programmer tegas ora nelpon super () ing kode.

Napa kita butuh chaining konstruktor?

Ana sawetara macem-macem tujuan duwe chain konstruktor ing Jawa, minangka kapacak ing ngisor iki.
  • Iki minangka cara kanggo ngakses properti konstruktor utawa properti kelas induk liyane.
  • Nalika nelpon konstruktor liyane, mung siji obyek sing digunakake, yaiku conto kelas saiki. Initialization dumadi ing sak panggonan, nanging kita duwe hak istimewa kanggo nelpon implementasine konstruktor beda liwat chain. Iki mbantu banget ing manajemen memori lan pangopènan kode.

Kesimpulan

Ing tutorial iki, kita ngrembug chaining konstruktor ing Jawa. Konstruktor minangka bagean kode kaya metode sing diarani nalika nggawe obyek. Kelas Java bisa duwe sawetara konstruktor kanthi dhaptar parameter sing beda. Constructor chaining minangka cara praktis kanggo nangani initializations beda karo siji conto saka kelas. Sawetara poin penting sing kudu dicathet saka tutorial iki kapacak ing ngisor iki.
  • Yen programmer ora nambah kanthi tegas menyang kode kasebut, kompiler nambahake konstruktor tanpa argumentasi umum ing kelas Jawa. Iki diarani konstruktor standar.
  • iki () lan super () kudu ditulis minangka baris pisanan konstruktor.
  • iki () digunakake kanggo nelpon konstruktor saka kelas padha nalika super () digunakake kanggo nelpon konstruktor saka kelas super langsung.
  • Paling ora ana siji konstruktor ing kelas sing ora ngemot tembung kunci iki () .
  • Yen ora ditambahake tegas, compiler nambah ora-argumen super () telpon kanggo saben konstruktor kelas anak. Iki bakal mbantu instantiation kelas kanthi bener.
Komentar
  • Popular
  • Anyar
  • lawas
Sampeyan kudu mlebu kanggo ninggalake komentar
Kaca iki durung duwe komentar