Constructor

Masih ingat pembahasan lalu tentang constructor? Okay kita lanjutkan ya disini… Tiap kali setiap object dideklarasikan maka pada saat itu pula constructor terpanggil. Pada umumnya kita menuliskan suatu constructor untuk mempermudah pemberian nilai awal suatu variable tertentu.

Ingat ya setiap class dalam java pasti punya minimal satu constructor secara default meskipun bisa jadi kita ngga menuliskannya secara sengaja. Begini polanya:

class ProgramSatu {
 // ini default constructor nya
 public ProgramSatu(){
 
 }
}

Dari sini kita dapati constructor ProgramSatu tidak menerima variable apapun. Tapi bisa kita gunakan pemberian default value kepada variable yang membutuhkannya misal saja seperti ini:

class ProgramSatu {
String jenisRobot;
int nomerUrut;
 // ini constructor yg ada default value 
 public ProgramSatu(){
    nomerUrut = 1;
    jenisRobot = "ACX-S2023";
 }
}

Berarti kalau kita panggil dalam implementasinya…

class Pemanggilan{

 public public static void main(String [] args){
    ProgramSatu mesin = new ProgramSatu();
    System.out.println("Kita punya " + mesin.jenisRobot + " dengan nomor : " + mesin.nomerUrut);
 }
}

Sehingga hasilnya…

Kita punya ACX-S2023 dengan nomor 1

Bisa difahami ya?

Constructor dengan Parameter

Setelah mengerti tentang constructor sekarang marilah kita sertakan beberapa parameter yang dibutuhkan. Tujuannya agar disaat pemanggilan constructor ini masuk bersamaan sekaligus diberikan inisialisasi nilai pada beberapa variablenya. Anggap saja begini:

class MesinKomputer {
  String rangkaSeri;
  int jumlahPin;

public MesinKomputer(String rangkaMasuk, int banyakPin){
   rangkaSeri = rangkaMasuk;
   jumlahPin = banyakPin;
}

}

Dari sini semisal kita eksekusi langsung pemanggilannya dengan cara…

class PengetesanMesin {
  
public static void main(String [] args){
   MesinKomputer mPercobaan1 = new MesinKomputer("IBM-S1002", 12);
   MesinKomputer mPercobaan2 = new MesinKomputer("IBM-XD02", 45);

   int totalPin = mPercobaan1.jumlahPin + mPercobaan2.jumlahPin;

   System.out.println("2 Mesin baru telah tercipta dengan " + totalPin + " total PIN.");

}

}

Hasilnya bisa dilihat ya?

2 Mesin baru telah tercipta dengan 57 total PIN.