Memahami konsep konstruktor berjenjang constructor chaining di Java
Memahami Konsep Constructor Chaining Di Java
Sangat mungkin sebuah subclass adalah turunan dari sebuah superclass dan superclass itu sendiri mungkin juga turunan dari superclass lain yang lebih atas. Dengan jenjang seperti ini, subclass yang paling bawah akan memanggil konstruktor dari superclass di atasnya, konstruktor superclass atas tersebut juga memanggil konstruktor superclass lain yang lebih atas dan seterusnya.

Pemanggilan konstruktor kelas atas dapat berlapis-lapis yang akan membentuk suatu jenjang atau rantai konstruktor. Di Java, pemanggilan konstruktor kelas atas secara berlapis ini disebut dengan konstruktor berjenjang atau rantai konstruktor (constructor chaining).

Banyak kelas di Java adalah turunan dari beberapa lapis kelas di atasnya. Ditegaskan kembali di artikel ini bahwa semua kelas Java, baik yang ada di pustaka kelas Java (Java class library) maupun kelas yang Anda definisikan sendiri (user-defined classes), langsung maupun tidak langsung adalah turunan dari kelas Object. Kelas Object adalah akar dari semua kelas di Java dan berada di puncak teratas dalam hierarki kelas.

Baca artikel Memahami Metoda toString Dari Kelas Object Di Java

Berikut ini adalah contoh program Java yang dapat menggambarkan pemanggilan kontruktor kelas atasnya secara berjenjang atau berantai. Di contoh program ini juga dijelaskan bahwa konstruktor dari superclass dikonstruksi terlebih dahulu sebelum konstruktor kelas turunannya.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Nama kelas : KelasA.java
// Menggambarkan pemanggilan konstruktor berjenjang
 
// Deklarasi kelas
public class KelasA extends KelasB {
 
   // Metoda main
   public static void main(String[ ] args) {
 
      // Anonymous object
      // Membuat obyek tanpa variabel acuan
      new KelasA();
   }
    
   public KelasA() {
      System.out.println("Konstruktor tanpa Argumen dari KelasA");
   }
}
 
class KelasB extends KelasC {
 
    public KelasB() {
      System.out.println("Konstruktor tanpa Argumen dari KelasB");
    }
}      
 
class KelasC extends KelasD {
 
    public KelasC() {
      System.out.println("Konstruktor tanpa Argumen dari KelasC");
    }
}
 
class KelasD {
 
    public KelasD() {
      System.out.println("Konstruktor tanpa Argumen dari KelasD");
    }
}

Konsep konstruktor berjenjang (constructor chaining) di Java

Baris nomor 12 adalah pernyataan untuk mengkonstruksi obyek kelas KelasA tanpa variabel acuan (anonymous object). Konstruksi obyek tersebut memanggil konstruktor tanpa parameter kelas KelasA. Karena kelas KelasA adalah subclass dari kelas KelasB, maka konstruktor tanpa parameter kelas KelasB dipanggil oleh kelas KelasA. Kelas KelasB sendiri adalah subclass dari kelas KelasC, maka konstruktor tanpa parameter kelas KelasC dipanggil oleh kelas KelasB dan begitu seterusnya.

Anda dapat melihat bahwa setiap konstruktor di kelas KelasA, KelasB dan KelasC tidak ada pernyataan super() untuk memanggil konstruktor superclass. Dalam hal ini, kompiler Java secara otomatis meletakkan kata kunci super() untuk memanggil konstruktor tanpa parameter dari superclass. Sebaiknya, bila sebuah kelas memang ditujukan menjadi superclass untuk kelas lain, akan lebih baik bila kelas tersebut menyediakan konstruktor tanpa parameter untuk menghindari error.

PRODUK TOKO GERZAL

Murah Fosi Audio SP601 Passive Bookshelf Speaker 2 Way 6.5 Inch Woofers Inch HiFi
Fosi Audio SP601 Passive Bookshelf Speaker 2 Way ...
Rp 4.607.800
Murah Fosi Audio BT20A MAX Power Amplifier HiFi Bluetooth Stereo PFFB Feedback
Fosi Audio BT20A MAX Power Amplifier HiFi Bluetooth ...
Rp 2.989.600
(5/5)
Murah Fosi Audio K7 Amplifier Headphone Hi-Fi Gaming DAC Bluetooth LCD Display
Fosi Audio K7 Amplifier Headphone Hi-Fi Gaming DAC ...
Rp 2.545.900
(5/5)
Murah Fosi Audio SW10 Active Speaker Subwoofer HiFi 10 Inch Driver Smart DSP 200W
Fosi Audio SW10 Active Speaker Subwoofer HiFi 10 Inch ...
Rp 4.623.300
(5/5)

Untuk daftar lengkap produk, kunjungi toko online kami, GERZAL, di marketplace Shopee, Tokopedia, dan TikTok Shop.
Harga produk di setiap marketplace berbeda-beda dan dapat berubah sewaktu-waktu.
Gunakan aplikasi saat berbelanja untuk mendapatkan potongan harga produk dan ongkos kirim, bahkan ongkos kirim gratis untuk wilayah tertentu.