Java Tutorial: Deklarasi dan akses kontrol – Part 3


Konstruktor

Konstruktor dijalankan pada saat objek dari suatu kelas dibuat. Nama konstruktor harus sama dengan nama kelas dan tidak mempunyai return value. Konstruktor dapat dioverloading(terdapat dua konstruktor atau lebih dengan parameter input yang berbeda). Konstruktor hanya bisa dipanggil oleh konstruktor lain. Untuk memanggil konstruktor pada kelas yang sama, digunakan fungsi this() dengan argumen/parameter input yang sesuai. Sedangkan untuk memanggil konstruktor pada superclass maka digunakan fungsi super() tentunya dengan argumen yang bersesuaian. Ketika objek pada subclass terbentuk, semua konstruktor pada superclass dipanggil dengan urutan atas dalam suatu hirarki.


Konstruktor default
Kompiler membuat konstruktor default jika tidak diberikan konstruktor didalam kelas dan konstruktor ini tidak memiliki argumen apapun. Konstruktor default memanggil konstruktor tanpa argumen dari superclass dengan akses modifier yang sama dengan kelas tersebut. Namun, kompiler tidak akan memberikan default konstruktor jika telah diberikan konstruktor minimal satu konstruktor didalam kelas. Sebagai contoh, kelas yang mempunyai konstruktor dengan dua argumen. Disini kompiler akan memberikan pesan error jika kita mencoba untuk instantiasi kelas tanpa melewatkan argumen apapun karena konstruktor default tidak tersedia.

class Dot
{
int x, y;
Dot(int x, int y)
{
this.x = x;
this.y = y;
}
}



Jika kita memanggil konstruktor dari kelas dan superclass tidak mempunyai konstruktor tanpa argumen, maka kode kita tidak dapat dikompilasi. Karena konstruktor default pada subclass memanggil secara implisit konstruktor tanpa argumen.
Sebagai Contoh:

class Dot
{
int x, y;
Dot(int x, int y)
{
this.x = x;
this.y = y;
}
}
class MyDot extends Dot { }

class Test
{
public static void main(String args[])
{
MyDot dot=new MyDot();
}
}


java-tutorial-deklarasi-dan-akses-kontrol-part-2

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s