Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Pengkonstruktor Overloading di Java – Dijelaskan dengan Contoh Kode Praktis

Apa Itu Konstruktor di Java?

Sebuah konstruktor adalah metode khusus yang menginisialisasi objek yang baru dibuat segera setelah alokasi memori. Ia menyetel bidang objek ke nilai yang diinginkan atau, jika dihilangkan, ke nilai default mereka. Mendefinisikan konstruktor adalah opsional; jika tidak ada yang disediakan, kompiler menyediakan konstruktor default yang menetapkan nilai default standar:

Tutorial ini mencakup:

Aturan untuk Membuat Konstruktor Java

  1. Nama konstruktor harus cocok persis dengan nama kelas.
  2. Tidak dapat memiliki tipe kembalian, bahkan void.

Contoh 1 – Konstruktor Pertama

Langkah 1: Masukkan kode berikut ke dalam editor Java Anda.

class Demo { int value1; int value2; Demo() { value1 = 10; value2 = 20; System.out.println("Di dalam Konstruktor"); } public void display() { System.out.println("Value1 === " + value1); System.out.println("Value2 === " + value2); } public static void main(String[] args) { Demo d1 = new Demo(); d1.display(); } }

Langkah 2: Kompilasi dan jalankan program. Keluaran:

Di dalam Konstruktor Value1 === 10 Value2 === 20

Overloading Konstruktor di Java

Java memungkinkan sebuah kelas untuk mendefinisikan banyak konstruktor dengan daftar parameter yang berbeda. Kompiler membedakan mereka berdasarkan jumlah dan tipe parameter.

Konstruktor yang valid untuk kelas bernama Account mungkin terlihat seperti:

Account(int a); Account(int a, int b); Account(String a, int b);

Contoh 2 – Konstruktor Overloaded

Langkah 1: Masukkan kode berikut.

class Demo { int value1; int value2; /* Demo() { value1 = 10; value2 = 20; System.out.println("Di dalam Konstruktor 1"); } */ Demo(int a) { value1 = a; System.out.println("Di dalam Konstruktor 2"); } Demo(int a, int b) { value1 = a; value2 = b; System.out.println("Di dalam Konstruktor 3"); } public void display() { System.out.println("Value1 === " + value1); System.out.println("Value2 === " + value2); } public static void main(String[] args) { Demo d1 = new Demo(); Demo d2 = new Demo(30); Demo d3 = new Demo(30, 40); d1.display(); d2.display(); d3.display(); } }

Langkah 2: Kompilasi dan jalankan. Anda akan menemukan kesalahan karena konstruktor default Demo() hilang setelah Anda menambahkan konstruktor berparameter. Untuk menggunakan konstruktor default, deklarasikan secara eksplisit:

Demo() { // inisialisasi default atau logika kustom }

Setelah membuka komentar blok yang di-comment dan mengompilasi ulang, program berjalan dengan benar.

Constructor Chaining

Saat subclass diinstantiasi, konstruktor superclass dieksekusi terlebih dahulu—ini dikenal sebagai constructor chaining.

Contoh 3 – Chaining antara Induk dan Anak

Langkah 1: Salin kode di bawah ini.

class Demo { int value1; int value2; Demo() { value1 = 1; value2 = 2; System.out.println("Di dalam Konstruktor Induk 1"); } Demo(int a) { value1 = a; System.out.println("Di dalam Konstruktor Induk 2"); } public void display() { System.out.println("Value1 === " + value1); System.out.println("Value2 === " + value2); } public static void main(String[] args) { DemoChild d1 = new DemoChild(); d1.display(); } } class DemoChild extends Demo { int value3; int value4; DemoChild() { // super(5); // Buat komentar untuk memanggil konstruktor induk yang overloaded value3 = 3; value4 = 4; System.out.println("Di dalam Konstruktor Anak"); } public void display() { System.out.println("Value1 === " + value1); System.out.println("Value2 === " + value2); System.out.println("Value3 === " + value3); System.out.println("Value4 === " + value4); } }

Langkah 2: Jalankan program. Karena konstruktor anak tidak secara eksplisit memanggil super(), konstruktor default Demo() berjalan terlebih dahulu. Keluaran yang diharapkan:

Di dalam Konstruktor Induk 1 Di dalam Konstruktor Anak Value1 === 1 Value2 === 2 Value3 === 3 Value4 === 4

Langkah 3: Untuk memanggil konstruktor induk yang overloaded Demo(int a), tempatkan super(5); sebagai baris pertama dalam konstruktor anak. Setelah membuka komentar baris dan menjalankan ulang:

Di dalam Konstruktor Induk 2 Di dalam Konstruktor Anak Value1 === 5 Value2 === 0 Value3 === 3 Value4 === 4

Menggunakan super(...) adalah wajib saat Anda memerlukan konstruktor superclass tertentu untuk berjalan sebelum logika subclass.

java

  1. Menguasai Overloading Konstruktor dalam C#
  2. Java Hello World: Program Pertama Anda
  3. Menguasai Konstruktor Java: Tipe, Penggunaan, dan Contoh Praktis
  4. Konstruktor Enum Java Dijelaskan dengan Contoh Praktis
  5. Menguasai Java String.indexOf(): Menemukan Substring & Contoh Praktis
  6. Menguasai Metode Java String compareTo(): Sintaks, Kasus Penggunaan, dan Contoh Praktis
  7. Java Static Dijelaskan: Variabel, Metode, dan Blok dengan Contoh Praktis
  8. Program Java untuk Menentukan Apakah Angka Prima
  9. Program Java untuk Menampilkan Bilangan Prima dari 1 hingga 100
  10. Mengonversi Char ke String di Java – Contoh Praktis dan Praktik Terbaik