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

Konstruktor Java

Konstruktor Java

Dalam tutorial ini, kita akan belajar tentang konstruktor Java, tipenya, dan cara menggunakannya dengan bantuan contoh.

Apa itu Konstruktor?

Konstruktor di Java mirip dengan metode yang dipanggil saat objek kelas dibuat.

Tidak seperti metode Java, konstruktor memiliki nama yang sama dengan nama kelas dan tidak memiliki tipe pengembalian. Misalnya,

class Test {
  Test() {
    // constructor body
  }
}

Di sini, Test() adalah konstruktor. Ini memiliki nama yang sama dengan kelas dan tidak memiliki tipe pengembalian.

Bacaan yang Disarankan: Mengapa konstruktor tidak mengembalikan nilai


Contoh 1:Konstruktor Java

class Main {
  private String name;

  // constructor
  Main() {
    System.out.println("Constructor Called:");
    name = "Programiz";
  }

  public static void main(String[] args) {

    // constructor is invoked while
    // creating an object of the Main class
    Main obj = new Main();
    System.out.println("The name is " + obj.name);
  }
}

Keluaran :

Constructor Called:
The name is Programiz

Pada contoh di atas, kami telah membuat konstruktor bernama Main() . Di dalam konstruktor, kita menginisialisasi nilai name variabel.

Perhatikan pernyataan membuat objek Main kelas.

Main obj = new Main();

Di sini, ketika objek dibuat, Main() konstruktor disebut. Dan, nilai name variabel diinisialisasi.

Oleh karena itu, program mencetak nilai name variabel sebagai Programiz .


Jenis Konstruktor

Di Java, konstruktor dapat dibagi menjadi 3 jenis:

  1. Konstruktor Tanpa Argumen
  2. Konstruktor Berparameter
  3. Konstruktor Default

1. Konstruktor Tanpa Argumen Java

Mirip dengan metode, konstruktor Java mungkin atau mungkin tidak memiliki parameter (argumen).

Jika konstruktor tidak menerima parameter apa pun, itu dikenal sebagai konstruktor tanpa argumen. Misalnya,

private Constructor() {
   // body of the constructor
}

Contoh 2:Java private no-arg constructor

class Main {

  int i;

  // constructor with no parameter
  private Main() {
    i = 5;
    System.out.println("Constructor is called");
  }

  public static void main(String[] args) {

    // calling the constructor without any parameter
    Main obj = new Main();
    System.out.println("Value of i: " + obj.i);
  }
}

Keluaran :

Constructor is called
Value of i: 5

Pada contoh di atas, kita telah membuat sebuah konstruktor Main() . Di sini, konstruktor tidak menerima parameter apa pun. Oleh karena itu, ini dikenal sebagai konstruktor no-arg.

Perhatikan bahwa kami telah mendeklarasikan konstruktor sebagai pribadi.

Setelah konstruktor dideklarasikan private , tidak dapat diakses dari luar kelas. Jadi, membuat objek dari luar kelas dilarang menggunakan konstruktor pribadi.

Di sini, kita membuat objek di dalam kelas yang sama. Oleh karena itu, program dapat mengakses konstruktor. Untuk mempelajari lebih lanjut, kunjungi Java Implement Private Constructor.

Namun, jika kita ingin membuat objek di luar kelas, maka kita perlu mendeklarasikan konstruktor sebagai public .

Contoh 3:Konstruktor tanpa argumen publik Java

class Company {
  String name;

  // public constructor
  public Company() {
    name = "Programiz";
  }
}

class Main {
  public static void main(String[] args) {

    // object is created in another class
    Company obj = new Company();
    System.out.println("Company name = " + obj.name);
  }
}

Keluaran :

Company name = Programiz

Bacaan yang Disarankan: Pengubah Akses Java


2. Konstruktor Berparameter Java

Konstruktor Java juga dapat menerima satu atau lebih parameter. Konstruktor tersebut dikenal sebagai konstruktor berparameter (konstruktor dengan parameter).

Contoh 4:Konstruktor berparameter

class Main {

  String languages;

  // constructor accepting single value
  Main(String lang) {
    languages = lang;
    System.out.println(languages + " Programming Language");
  }

  public static void main(String[] args) {

    // call constructor by passing a single value
    Main obj1 = new Main("Java");
    Main obj2 = new Main("Python");
    Main obj3 = new Main("C");
  }
}

Keluaran :

Java Programming Language
Python Programming Language
C Programming Language

Pada contoh di atas, kami telah membuat konstruktor bernama Main() . Di sini, konstruktor mengambil satu parameter. Perhatikan ekspresinya,

Main obj1 = new Main("Java");

Di sini, kami meneruskan nilai tunggal ke konstruktor. Berdasarkan argumen yang diteruskan, variabel bahasa diinisialisasi di dalam konstruktor.


3. Konstruktor Default Java

Jika kita tidak membuat konstruktor apa pun, kompiler Java secara otomatis membuat konstruktor no-arg selama eksekusi program. Konstruktor ini disebut konstruktor default.

Contoh 5:Konstruktor Default

class Main {

  int a;
  boolean b;

  public static void main(String[] args) {

    // A default constructor is called
    Main obj = new Main();

    System.out.println("Default Value:");
    System.out.println("a = " + obj.a);
    System.out.println("b = " + obj.b);
  }
}

Keluaran :

a = 0
b = false

Di sini, kami belum membuat konstruktor. Oleh karena itu, kompiler Java secara otomatis membuat konstruktor default.

Konstruktor default menginisialisasi variabel instan apa pun yang tidak diinisialisasi dengan nilai default.

Jenis Nilai Default
boolean salah
byte 0
short 0
int 0
long 0L
char \u0000
float 0.0f
double 0,0d
object Referensi nol

Dalam program di atas, variabel a dan b diinisialisasi dengan nilai default 0 dan false masing-masing.

Program di atas setara dengan:

class Main {

  int a;
  boolean b;

  // a private constructor
  private Main() {
    a = 0;
    b = false;
  }

  public static void main(String[] args) {
    // call the constructor
    Main obj = new Main();

    System.out.println("Default Value:");
    System.out.println("a = " + obj.a);
    System.out.println("b = " + obj.b);
  }
}

Keluaran program sama dengan Contoh 5.


Catatan Penting tentang Konstruktor Java


Konstruktor Overloading di Java

Mirip dengan metode Java overloading, kita juga dapat membuat dua atau lebih konstruktor dengan parameter yang berbeda. Ini disebut overloading konstruktor.

Contoh 6:Kelebihan Beban Konstruktor Java

class Main {

  String language;

  // constructor with no parameter
  Main() {
    this.language = "Java";
  }

  // constructor with a single parameter
  Main(String language) {
    this.language = language;
  }

  public void getName() {
    System.out.println("Programming Langauage: " + this.language);
  }

  public static void main(String[] args) {

    // call constructor with no parameter
    Main obj1 = new Main();

    // call constructor with a single parameter
    Main obj2 = new Main("Python");

    obj1.getName();
    obj2.getName();
  }
}

Keluaran :

Programming Language: Java
Programming Language: Python

Dalam contoh di atas, kita memiliki dua konstruktor:Main() dan Main(String language) . Di sini, kedua konstruktor menginisialisasi nilai bahasa variabel dengan nilai yang berbeda.

Berdasarkan parameter yang diteruskan selama pembuatan objek, konstruktor yang berbeda dipanggil dan nilai yang berbeda diberikan.

Dimungkinkan juga untuk memanggil satu konstruktor dari konstruktor lain. Untuk mempelajari lebih lanjut, kunjungi Java Panggil Satu Konstruktor dari Yang Lain.

Catatan :Kami telah menggunakan this kata kunci untuk menentukan variabel kelas. Untuk mengetahui lebih lanjut tentang this kata kunci, kunjungi Java kata kunci ini.


java

  1. Konstruktor C++
  2. Operator Jawa
  3. Komentar Jawa
  4. Java untuk setiap Loop
  5. Konstruktor Java
  6. String Jawa
  7. Jawa Kata Kunci ini
  8. Antarmuka Jawa
  9. Kelas Anonim Java
  10. Konstruktor enum Java