konstruktor:
1.Konstruktor harus menggunakan nama yang sama dengan class.termasuk huruf besar dan kecilnya.
2.Dalam satu class bisa terdapat lebih dari satu konstruktor.
3.konstruktor akan dieksekusi setiap kli ada pembuatan objek.
4.Setiap class harus mempunyai paling tidak sebuah konstruktor.
5.konstruktor tidak memiliki hak akses.
6.Jika sudah mendeklarasikan konstruktor, maka konstruktor default tidak akan dibuat oleh kompiler Java.
Sebuah class memiliki beberapa konstruktor.Konstruktor yang dibuat lebih dari satu dibunakan untuk keperluan berikut:
1.Menentukan nilaiInstance variabel yang berbeda. Jadi, pada setiap konstruktor diinisialisasi variabel yang berbeda.
2.Melakukan tugas awal dengan menjalankan metode tertentu,seperti untuk melakukan penghitungan. Jadi, selama konstruktor dijalankan,akan dilakukan penghitungan.
Contoh deklarasi konstruktor
overloading ;
Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini satu konstruktor dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.
package persegi1;
/**
*
* @author agung
*/
public class persegipanjang {// nama class persegi panjang
private double panjang;// inisialisasi panjang dengan var double yang hanya dapat di gunakan oleh turunan dari panjang
private double lebar; // inisialisasi lebar dengan var double yang hanya dapat di gunakan oleh turunan dari lebar
persegipanjang (){
// merupakan konstuctor dari class persegi panjang
// konsructor harus sama persis dengan nama classnya
// tetapi tidak memiliki hak akses
panjang=10;// inisialisasi inputan “10”
lebar=2;//inisialisasi inputan “2”
}
persegipanjang (double panjang,double lebar){
// deklarasi method dan parameter
this.panjang= panjang;
// panjang yang dideklarasikan menunjuk pada panjang
// yang ada pada class
this.lebar=lebar;
}
// metode hitung hasil merupakan metode overloading, dimana nama methodnya sama tetapi beda parameternya.
public void setpanjang(double panjang){
this.panjang=panjang;
}
public void setlebar(double lebar){
this.lebar=lebar;
}
public void hitungluas(){
System.out.println(panjang*lebar);// output pada layar panjang*lebar
}
public void hitungluas (double panjang,double lebar){
setpanjang(panjang);// inisialisasi panjang
setlebar(lebar);//inisialisasi lebar
hitungluas();// hasil dari luas persegi
}
public double getpanjang(){// inputan panjang dengan var double
return panjang;
}
public double getlebar(){//inputan lebar dengan var double
return lebar;
}
}//akhir class
KELAS PERSEGI PANJANG
*
*
* @author agung
*/
public class panjang {// nama class panjang
public
static void main(String[] args) {//membuat objek
persegipanjang a = new persegipanjang();//objek baru dari class panjang
a.hitungluas();//perintah untuk menghitung luas pada objek A dengan nilai yang
sudah ditentukan
a.hitungluas(5,3); ();//memanggil method dan menunjukan nilai parameter
*
pe
rsegipanjang b = new persegipanjang(20,10);// objek baru dari class
panjang dan menunjukan nilai parameter
b.hitungluas();
persegipanjang malas = new persegipanjang();
malas.setpanjang(8);// inputan panjang “8”
malas.setlebar(4);//inputan “4”
malas.hitungluas();// hasil dari hitung luas
malas.hitungluas(a.getpanjang(),b.getlebar();// menghitung luas yang
berada
//pada objek C dan memanggil panjang dari
objek A dan memanggil lebar dari objek B
}
}// akhir program
kesimpulan program ;
dalam menentukan overloading maka di butuhkan sebuah parameter yang telah di tentukan dengan aturan :
- Nama method harus sama
- Daftar parameter harus berbeda
- Return type boleh sama, juga boleh berbeda
output program :