Sabtu, 24 Mei 2008

Konstruktor

Konstruktor merupakan method khusus yang digunakan untuk menginisialisasi objek dan tiap class boleh memiliki lebih dari satu konstruktor.
Perbedaan method biasa dengan konstruktor adalah bahwa konstruktor harus memiliki nama yang sama dengan nama classnya dan tidak memiliki nilai kembalian (tipe-data).
Konstruktor dijalankan pada saat sebuah object diinisialisasi (menggunakan kata new). Pada konstruktor juga berlaku overloading, artinya boleh mendeklarasikan lebih dari satu konstruktor, asalkan memiliki parameter yang berbeda – beda.
Perhatikan contoh di bawah ini:

class Manusia{
String nama;
String jenkel;

Manusia(){ //konstruktor
nama = "unknown";
jenkel = "unknown";
}

Manusia(String param1,String param2){ //konstruktor
nama = param1;
jenkel = param2;
}
void cetak(){
System.out.println("Nama : "+nama);
System.out.println("Jenis Kelamin : "+jenkel +"\n");
}
}

class DemoManusia{
public static void main(String args[]){
Manusia m1,m2;
m1 = new Manusia();
m2 = new Manusia("Hendro","Laki-laki");

m1.cetak();
m2.cetak();
}
}

Yang perlu diperhatikan adalah apabila anda tidak mendeklarasikan satu pun konstruktor, maka Java secara otomatis menambahkan konstruktor default ke dalam class yang kita buat walaupun tidak kelihatan pada kode program. Apabila kita mendeklarasikan satu atau lebih konstruktor maka java tidak akan menambahkan kostruktor default.
Saat kita menginisialisasi suatu objek menggukan perintah new, maka pasti pasti salah satu konstruktor yang kita buat akan dijalankan. Konstruktor mana yang dijalankan tergantung dari parameter yang kita lewatkan (sama dengan konsep method overloading).

1 komentar:

MyDiary mengatakan...

halo,, saya mo tanya :
1. bisakah Anda tolong jelaskan maksud dari baris program berikut :
Manusia(){ //konstruktor
nama = "unknown";
jenkel = "unknown";
}

Manusia(String param1,String param2){ //konstruktor
nama = param1;
jenkel = param2;
}
klu bisa baris per baris,, karena saya masih belum terlalu memahami beda antara 2 konstruktor tersebut. dan di program tersebut yang dimaksud dengan parameter itu yg mana??

2. konstruktor fungsinya apa??bisakah dijelaskan dengan menggunakan perumpamaan?? karena saya masih belum terlalu mengerti.

saya bingung..........
mohon bantuannya.....