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

Overloading Konstruktor di Java:Apa itu &Contoh Program

Apa itu Konstruktor di Java?

Konstruktor adalah metode khusus yang digunakan untuk menginisialisasi objek yang baru dibuat dan dipanggil tepat setelah memori dialokasikan untuk objek tersebut. Ini dapat digunakan untuk menginisialisasi objek ke nilai yang diinginkan atau nilai default pada saat pembuatan objek. Tidak wajib bagi pembuat kode untuk menulis konstruktor untuk suatu kelas.

Jika tidak ada konstruktor yang ditentukan pengguna yang disediakan untuk suatu kelas, kompilator menginisialisasi variabel anggota ke nilai defaultnya.

Dalam tutorial ini, Anda akan belajar-

Aturan untuk membuat Konstruktor Java

  1. Memiliki nama yang sama sebagai kelas
  2. Seharusnya tidak mengembalikan nilai bahkan void

Contoh 1 :Buat Konstruktor Pertama Anda di Java

Langkah 1) Ketik program konstruktor berikut di editor Java.

class Demo{
      int  value1;
      int  value2;
      Demo(){
         value1 = 10;
         value2 = 20;
         System.out.println("Inside Constructor");
     }
 
     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) Simpan, Jalankan &Kompilasi program konstruktor di Java dan amati hasilnya.

Keluaran:

Inside Constructor
Value1 === 10
Value2 === 20

Konstruktor Overloading di Java

Overloading Konstruktor Java adalah teknik di mana suatu kelas dapat memiliki sejumlah konstruktor yang berbeda dalam daftar parameter. Kompiler membedakan konstruktor ini dengan mempertimbangkan jumlah parameter dalam daftar dan tipenya.

Contoh konstruktor yang valid untuk Akun kelas adalah

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

Contoh 2 :Untuk memahami Overloading Konstruktor di Java

Langkah 1) Ketik kode di editor.

class Demo{
      int  value1;
      int  value2;
      /*Demo(){
       value1 = 10;
       value2 = 20;
       System.out.println("Inside 1st Constructor");
     }*/
     Demo(int a){
      value1 = a;
      System.out.println("Inside 2nd Constructor");
    }
    Demo(int a,int b){
    value1 = a;
    value2 = b;
    System.out.println("Inside 3rd Constructor");
   }
   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) Simpan, Kompilasi &Jalankan Kode.

Langkah 3) Kesalahan =?. Coba dan debug kesalahan sebelum melanjutkan ke langkah berikutnya dari kelebihan beban konstruktor Java

Langkah 4) Setiap kelas memiliki konstruktor default di Java. Java konstruktor kelebihan beban default untuk Demo kelas adalah Demo() . Jika Anda tidak menyediakan konstruktor ini, kompiler membuatnya untuk Anda dan menginisialisasi variabel ke nilai default. Anda dapat memilih untuk mengganti konstruktor default ini dan menginisialisasi variabel ke nilai yang Anda inginkan seperti yang ditunjukkan pada Contoh 1.

Tetapi jika Anda menentukan konstruktor parametrized seperti Demo(int a), dan ingin menggunakan konstruktor default Java Demo(), Anda wajib menentukannya.

Dengan kata lain, jika konstruktor kelebihan beban Anda di Java diganti, dan Anda ingin menggunakan Java konstruktor default, itu harus ditentukan.

Langkah 5) Batalkan komentar pada baris # 4-8. Simpan, Kompilasi &Jalankan kode.

Rantai Konstruktor

Pertimbangkan skenario di mana kelas dasar diperluas oleh seorang anak. Setiap kali objek dari kelas anak dibuat, konstruktor dari kelas induk dipanggil terlebih dahulu. Ini disebut Rantai konstruktor.

Contoh 3: Untuk memahami rantai konstruktor

Langkah 1) Salin kode berikut ke dalam editor.

class Demo{
   int  value1;
   int  value2;
    Demo(){
      value1 = 1;
      value2 = 2;
      System.out.println("Inside 1st Parent Constructor");
   }
   Demo(int a){
      value1 = a;
      System.out.println("Inside 2nd Parent Constructor");
   }
  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);
     value3 = 3;
     value4 = 4;
    System.out.println("Inside the Constructor of Child");
    }
    public void display(){
      System.out.println("Value1 === "+value1);
      System.out.println("Value2 === "+value2);
      System.out.println("Value1 === "+value3);
      System.out.println("Value2 === "+value4);
   }
}

Langkah 2) Jalankan Kode. Karena rantai konstruktor, ketika objek dari kelas anak DemoChild dibuat, konstruktor Demo() dari kelas induk dipanggil terlebih dahulu dan kemudian konstruktor DemoChild() dari anak dibuat.

Hasil yang Diharapkan =

Inside 1st Parent Constructor
Inside the Constructor of Child
Value1 === 1
Value2 === 2
Value1 === 3
Value2 === 4

Langkah 3) Anda dapat mengamati konstruktor dari kelas induk Demo diganti. Bagaimana jika Anda ingin memanggil konstruktor yang diganti Demo(int a) alih-alih konstruktor default Demo() saat objek anak Anda dibuat?

Dalam kasus seperti itu, Anda dapat menggunakan kata kunci “super” untuk memanggil konstruktor kelas induk yang diganti.

Sintaks:-

super();
--or--
super(parameter list);

Contoh: Jika konstruktor Anda seperti Demo(String Name,int a) , Anda akan menentukan super(“Java”,5) . Jika digunakan, kata kunci super harus menjadi baris kode pertama dalam konstruktor kelas anak.

Langkah 4) Batalkan komentar pada Baris # 26 dan jalankan kodenya. Amati Outputnya.

Keluaran:

Inside 2nd Parent Constructor
Inside the Constructor of Child
Value1 === 5
Value2 === 0
Value1 === 3
Value2 === 4

java

  1. C# Konstruktor Overloading
  2. Program Halo Dunia Java
  3. Konstruktor Java
  4. Konstruktor enum Java
  5. Java String indexOf() Metode dengan Substring &Contoh
  6. Metode Java String compareTo():​​Cara Menggunakan dengan Contoh
  7. Variabel Statis di Java:Apa itu Static Block &Method [Contoh]
  8. Program Java untuk Mengecek Bilangan Prima
  9. Program untuk Mencetak Bilangan Prima Dari 1 hingga 100 di Java
  10. Cara Mengonversi Char ke String di Java (Contoh)