Chaining Konstruktor di Jawa dengan Contoh & Implementasi

Diterbitkan: 2023-06-05

Di Java, Konstruktor dapat dipahami sebagai blok kode yang digunakan untuk menginisialisasi objek yang baru dibuat. Konstruktor mirip dengan metode instance di Java. Namun, ada perbedaan penting antara Konstruktor dan metode di Java – meskipun metode memiliki tipe kembalian, Konstruktor tidak memiliki tipe kembalian tertentu. Pemrogram sering menyebut Konstruktor sebagai jenis metode khusus di Java.

Konstruktor di Java memiliki nama yang sama dengan kelasnya, dan tampilannya seperti berikut:

kelas publik myProgram{

// Ini adalah konstruktor

myProgram(){

}

..

}

Ketika sebuah konstruktor dipanggil dari dalam konstruktor lain, saat itulah Chaining Konstruktor terjadi di Jawa. Namun, sebelum kita masuk lebih dalam ke Constructor Chaining, pertama-tama mari kita lihat sekilas bagaimana Constructor bekerja di Java, beserta beberapa contoh untuk memperkuat pemahaman Anda.

Daftar isi

Bagaimana Cara Kerja Konstruktor di Java?

Untuk memahami cara kerja Konstruktor, mari kita lihat sebuah contoh. Misalkan kita memiliki kelas bernama myProgram. Sekarang, saat kita membuat objek kelas ini, kita harus menulis pernyataan berikut:

myProgram obj = new myProgram()

Seperti yang Anda lihat, kata kunci new yang digunakan dalam contoh di atas membuat objek myProgram dan memanggil konstruktor untuk menginisialisasi objek yang baru dibuat ini.

Jika ini terdengar sedikit membingungkan bagi Anda, jangan khawatir. Mari kita lihat program konstruktor sederhana di Java untuk lebih memahami cara kerja Konstruktor di Jawa.

Program Konstruktor Dasar di Java

Lihatlah potongan kode Java berikut yang menggunakan Konstruktor:

Tes kelas publik{

Buku tali;

// Konstruktor

Tes(){

this.book = “A Catcher in the Rye”;

}

public static void main(String[] args) {

Obj uji = Tes baru();

System.out.println(obj.buku);

}

}

Keluaran:

Seorang Penangkap di Gandum Hitam

Dalam program di atas, kami telah membuat objek bernama 'obj' dari Program kelas kami. Kemudian, kami mencetak nama variabel instan dari objek yang baru dibuat ini. Seperti yang Anda lihat dari output, outputnya sama dengan nilai yang diteruskan ke 'book' selama inisialisasi Konstruktor.

Hal ini menunjukkan bahwa saat objek obj dibuat, Konstruktor secara otomatis dipanggil. Di sini, kami menggunakan kata kunci 'ini' untuk merujuk ke objek saat ini. Ada lebih banyak cara untuk melakukan ini juga, yang akan kita bicarakan nanti di artikel sambil membahas Constructor Chaining.

Dengan dasar-dasar Constructor in Java yang telah dikuasai, mari beralih ke Constructor Chaining di Java dan cara kerjanya!

Rantai Konstruktor Dalam Satu Kelas

Tapiapa itu rangkaian konstruktor di Jawa yang melibatkan satu kelas?Memanggil satu konstruktor dari yang lain di kelas yang sama termasuk rangkaian konstruktor di dalam kelas itu. Kata kunci "ini" digunakan dalam sintaks untuk rangkaian konstruktor dalam kelas yang sama. Contoh kelas saat ini dirujuk ketika "ini" digunakan. Yang terbaik adalah memahami penggunaanrantai konstruktor di Jawa dengan contoh .

Merangkai Konstruktor dari Kelas Dasar/Induk

Sebuah kelas di Java dapat diturunkan dari kelas lain; kelas turunan disebut sebagai subclass, dan kelas asalnya disebut sebagai superclass. Sebuah subclass dapat memiliki konstruktornya sendiri dan memanggil konstruktor dari superclass-nya.

Konstruktor superclass menggunakan istilah super(), diikuti dengan input yang diperlukan. Kata kunci super() harus selalu ada di baris pertama konstruktor subclass.

Panggilan dari Konstruktor Berbeda, Builder

Menggunakan kata kunci this() , konstruktor di Java dapat memanggil konstruktor lain dari kelas yang sama. Kata kunci pertama dalam konstruktor harus selalu berupa kata kunci this(), yang hanya dapat digunakan untuk memanggil konstruktor lain dengan tipe yang sama.

Konstruktor Superclass Telepon

Kata kunci super() di Java memungkinkan konstruktor subclass untuk memanggil konstruktor superclass. Kata kunci super(), yang hanya dapat digunakan untuk memanggil konstruktor dari superclass subclass, harus selalu menjadi baris pertama dari konstruktor subclass.

Program Java mungkin berperilaku berbeda jika konstruktor disusun dalam urutan yang berbeda. Jika suatu kelas memiliki banyak konstruktor dan salah satunya menggunakan kata kunci this() untuk memanggil konstruktor lain, mengubah urutan konstruktor dapat mengubah perilaku program.

Cara Berbeda untuk Merangkai Konstruktor Menggunakan Blok Init

Menggunakan blok inisialisasi adalah pendekatan lain untuk rantai konstruktor di Jawa .Bagian kode yang dikenal sebagai blok inisialisasi dijalankan

Esensi Constructor Chaining di Java

Saat kita memanggil Konstruktor dari Konstruktor lain di kelas yang sama, yang terjadi disebut Rantai Konstruktor. Tujuan utama melakukan Constructor Chaining adalah untuk meneruskan parameter melalui sekelompok konstruktor yang berbeda dan hanya menginisialisasi mereka di satu tempat. Dengan cara ini, Anda mendapat kesempatan untuk mempertahankan semua inisialisasi Anda di satu lokasi sementara konstruktor yang berbeda dapat diberikan kepada pengguna.

Jika Anda tidak melakukan Chaining Konstruktor dan dua Konstruktor yang berbeda memerlukan satu parameter, Anda perlu menginisialisasi parameter tersebut dua kali. Selain itu, setiap kali inisialisasi berubah, Anda harus melakukan perubahan masing-masing pada semua konstruktor, bukan hanya satu.

Sebagai aturan praktis, Anda harus selalu memanggil Konstruktor dengan lebih banyak argumen dari Konstruktor yang memiliki lebih sedikit argumen. Anda juga harus menyadari bahwa kami dapat membebani banyak Konstruktor di kelas. Namun, pada saat objek dibuat, hanya satu Konstruktor tertentu yang dipanggil. Mungkin ada beberapa situasi saat memprogram di Java di mana Anda perlu memanggil beberapa konstruktor satu sama lain tanpa membuat objek yang berbeda. Mekanisme pemanggilan satu Konstruktor dari konstruktor lain dan ketika Konstruktor yang terlibat memanggil konstruktor lain dikenal sebagai rangkaian konstruktor.

PelajariKursus Perangkat Lunakonline dari Universitas top Dunia.Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Ada dua hal utama yang harus Anda ingat tentang Constructor Chaining untuk memastikan kejelasan sepenuhnya:

  • Tujuan utama Constructor Chaining adalah untuk mempertahankan kode. Idenya adalah untuk membantu Anda menulis hanya satu kode yang dapat digunakan kembali di seluruh program Anda. Dengan cara ini, kode Anda tidak hanya akan bersih dan mudah dibaca, tetapi juga akan jauh lebih mudah untuk dikelola dengan semua koreksi dan perubahan yang terjadi hanya pada satu lokasi daripada semua Konstruktor.
  • Konstruktor yang dipanggil tidak membuat objek terpisah. Sebagai gantinya, ia menggunakan objek yang sedang berjalan untuk memanggil konstruktor lain. Ini seperti memanggil metode berbeda di dalam Konstruktor Anda, kecuali itu juga merupakan konstruktor.

Seperti yang Anda lihat pada contoh sebelumnya, kami menggunakan kata kunci ini untuk mengakses parameter Konstruktor. Demikian juga, Constructor Chaining juga membutuhkan terutama dua kata kunci. Berikut adalah dua kata kunci tersebut:

  • this – Representasi metodenya memanggil konstruktor kelas saat ini.
  • super – Representasi metodenya memanggil super langsung atau konstruktor superclass induk.

Selain itu, Anda harus mengetahui beberapa istilah dan definisi penting lainnya dalam hal Constructor Chaining di Java:

  • Doa Konstruktor: Saat Anda memanggil Konstruktor, dan Konstruktor tersebut berhasil dipanggil, ini dikenal sebagai Doa Konstruktor.
  • Eksekusi Konstruktor: Jika saat memanggil Konstruktor, kontrol mulai mengeksekusi pernyataan di badan Konstruktor. Ini dikenal sebagai eksekusi konstruktor.

Aturan Kunci Chaining Konstruktor di Jawa

Setelah dasar Constructor Chaining diselesaikan, mari kita lihat beberapa aturan penting untuk bekerja dengan Constructor Chaining di Java:

  • this() hanya dapat memanggil parameter milik Konstruktor yang sama.
  • super() hanya dapat memanggil Konstruktor superclass langsung.
  • this() dan super() harus menjadi pernyataan pertama di Konstruktor.
  • Ini () dan super() tidak dapat digunakan dalam Konstruktor yang sama karena kedua individu harus menjadi pernyataan pertama, yang secara praktis tidak mungkin dilakukan.
  • Anda tidak dapat menambahkan this() di semua Konstruktor dari kelas yang sama, karena setidaknya harus ada satu Konstruktor tanpa pernyataan this().
  • Pemanggilan dan eksekusi Konstruktor di Jawa terjadi sebaliknya. Jadi, jika Konstruktor dipanggil dalam urutan A, B, C, maka eksekusi akan dilakukan dalam urutan C, B, A.

Misalnya, di sini, kami memiliki dua kelas terpisah yang bekerja dengan membebani Konstruktor yang berbeda secara berlebihan. Kami ingin mengeksekusi konstruktor dalam urutan 2, 1, 4, 3, 5.

Untuk mengeksekusi konstruktor secara berurutan, kita perlu memanggil konstruktor dengan urutan yang berlawanan seperti 5, 3, 4, 1, 2, lihat pada contoh di bawah ini.

Induk kelas

{

Induk()// 1

{

ini ("halo");

System.out.println(“dalam Induk 0 konstruktor arg 1”);

}

Induk(String pesan)// 2

{

System.out.println(“dalam konstruktor Parent(String) 2”);

}

}

kelas Konstruktor memperluas Induk

{

Konstruktor()// 3

{

this(10);// memanggil konstruktor 5 angka

System.out.println(“dalam Constructor 0 arg constructor 3”);

}

Konstruktor(Pesan string)// 4

{

super();//memanggil konstruktor kelas induk nomor 1

System.out.println(“dalam Constructor(String msg) arg constructor 4”);

}

Konstruktor(int i)// 5

{

this(“hello”);//memanggil konstruktor nomor 4

System.out.println(“dalam Konstruktor(int i) konstruktor 5”);

}

// metode utama()

public static void main(String[] args)

{

Konstruktor cobj = Konstruktor baru(); // memanggil 3 konstruktor nomor

}

}

Keluaran:

dalam konstruktor Parent(String) 2

di Induk 0 konstruktor arg 1

di Constructor(String msg) arg constructor 4

di Konstruktor(int i) konstruktor 5

di Konstruktor 0 arg konstruktor 3

Ringkas semua konsep Konstruktor dan Rantai Konstruktor di Jawa dengan satu contoh terakhir:

kelas Emp

{

Nama String publik;

int publik EEearnings;

alamat String publik;

Emp umum()

{

ini(“Rahul”);

}

Emp umum (Nama string)

{

ini(nama, 140035);

}

publik Emp(String nama, int sal)

{

ini(nama, sal, “New Delhi”);

}

Karyawan publik (Nama string, int sal, String add)

{

this.ENama=nama;

this.EEearnings=sal;

this.alamat=tambahkan;

}

batal disp() {

System.out.println(“Nama: “+ENama);

System.out.println(“Gaji: “+Penghasilan);

System.out.println(“Alamat: “+alamat);

}

public static void main(String[] args)

{

Obj karyawan = Karyawan baru();

obj.disp();

}

}

Keluaran:

Nama Karyawan: Rahul

Gaji Karyawan: 140035

Alamat Karyawan: New Delhi

Kesimpulan

Dengan itu, kita sampai pada akhir artikel ini. Kami harap ini mengklarifikasi keraguan Anda tentang Chaining Konstruktor di Jawa dan memperkuat pemahaman Anda lebih lanjut. Di upGrad, kami percaya dalam membantu siswa dari seluruh dunia mencapai potensi penuh mereka dan berhasil dalam karier mereka. Kursus kami dirancang dengan mempertimbangkan para profesional baru dan berpengalaman.

Salah satu kursus tersebut adalah Sertifikasi PG terkait Pekerjaan upGrad dalam Rekayasa Perangkat Lunak , yang dirancang khusus untuk pencari kerja pertama kali. Lihat konten kursus dan daftarkan diri Anda hari ini! Pelajari semua keterampilan Rekayasa Perangkat Lunak yang relevan seperti Java, DSA, OODAP, JavaScript, MERN, AWS, dll., dari pakar industri dan profesional terkemuka.

T: Apakah mungkin untuk menggabungkan lebih dari dua konstruktor di Java?

Java memungkinkan maksimal dua rantai konstruktor. Anda dapat membuat objek yang lebih rumit dan mengurangi duplikasi kode dengan melakukan ini.

T: Ketika sebuah konstruktor di Java memanggil dirinya sendiri, apa yang terjadi?

Konstruktor di Java yang memanggil dirinya sendiri akan menghasilkan kesalahan stack overflow dan loop yang tidak terbatas.

T: Bagaimana tampilan konstruktor default di Java?

Konstruktor default di Java adalah konstruktor yang tidak menerima input. Jika tidak ada konstruktor yang dideklarasikan di kelas, konstruktor akan dibuat secara otomatis.