Dasar Java : Konstruktor

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Konstruktor Java adalah metode spesial yang dipanggil saat sebuah objek dibuat. Sebuah konstruktor memulai pembuatan objek/instance. Umumnya konstruktor memberikan fields objek yang membutuhkan inisialisasi. Konstruktor juga dapat mengambil parameter, sehingga fields dapat diinisialisasi di dalam objek saat pembuatan.

Mendefinisikan Konstruktor

Berikut contoh sebuah class dengan konstruktor tunggal


public class MyClass {

    public MyClass() {

    }
}

Bagian yang mendefinisikan konstruktor adalah :


    public MyClass() {

    }

Pertama-tama, sebuah access modifier ditulis. Ini memiliki arti yang sama dengan metode dan fields. Mereka menentukan class mana yang dapat mengakses (memanggil) konstruktor.

Kedua, nama dari class digunakan sebagai nama metode konstruktor. Ini memberikan sinyal kepada kompailer Java bahwa ini adalah sebuah konstruktor. Juga catat bahwa konstruktor tidak memiliki tipe return seperti yang dimiliki oleh metode.

Ketiga, sebuah daftar parameter dideklarasikan didalam kurung (). Pada contoh diatas, tidak ada parameter yang dideklarasikan. Kita akan melihat berikutnya contoh konstruktor dengan parameter

Keempat, tubuh konstruktor didefinisikan didalam kurung kurawal {   }. Dalam contoh diatas, konstruktor tidak memiliki operasi di dalam tubuh konstruktor.

Konstruktor Banyak

Sebuah class dapat memiliki banyak konstruktor, sepanjang signature (parameter yang mereka ambil) tidak sama. Anda dapat menentukan banyak konstruktor sesuai kebutuhan anda.

Memanggil Konstruktor

Anda dapat memanggil konstruktor saat anda membuat instance baru pada class yang berisi konstruktor. Berikut contohnya :


MyClass myClassVar = new MyClass();

Contoh ini membuat konstruktor tanpa argumen sebagaimana yang disampaikan diawal tutorial tadi.

Dalam hal kita ingin melewatkan parameter ke konstruktor, kita menyertakan parameter-parameter didalam tanda kurung setelah nama class seperti berikut :

MyClass myClassVar = new MyClass("John", "Doe", 1975);

Contoh tersebut melewatkan 3 parameter ke dalam konstruktor MyClass. Bagaimana mendeklarasikan parameter di dalam konstruktor akan dibahas terpisah.

Parameter-parameter Konstruktor

Adalah dimungkinkan bagi konstruktor untuk mengambil parameter-parameter. Parameter-parameter ini dapat digunakan untuk menginisialisasi kondisi internal dari objek yang baru dibuat. Berikut contohnya :


public class Employee {

    private String firstName = null;
    private String lastName  = null;
    private int    birthYear = 0;

        public Employee(String first,
        String last,
        int    year   ) {

        firstName = first;
        lastName  = last;
        birthYear = year;
        }

}

Pada contoh tersebut definisi konstruktor adalah :


public Employee(String first,
        String last,
        int    year   ) {

        firstName = first;
        lastName  = last;
        birthYear = year;

Sebagaimana yang kita lihat, parameter-parameter ini dideklarasikan :  first,last dan year. Di dalam tubuh konstruktor nilai dari tiga parameter ini  diberikan pada fields objek  Employee

Line break setelah masing-masing parameter bersifat opsional. Kompailer Java akan mengabaikan line break disana. Kita juga dapat menulis deklarasi parameter dalam bentuk satu baris jika memang diinginkan seperti ini :


public Employee(String first, String last, int year ) {
        firstName = first;
        lastName  = last;
        birthYear = year;
    }

Untuk konstruktor ini yang mengambil parameter, kita akan membuat objek Employee seperti ini :


Employee employee = new Employee("Jack", "Daniels", 2000);

Parameter-parameter yang dilewatkan ke konstruktor di dalam kurung setelah nama class di sebelah kanan tanda sama dengan. Objek kemudian dibuat, dan konstruktor dieksekusi. Setelah eksekusi konstruktor diatas, fields dimulai oleh konstruktor akan memiliki nilai parameter yang diberikan ke konstruktor.

Modifier Akses Konstruktor

Modifier Akses dari suatu Konstruktor menentukan class apa pada aplikasi kita yang diiizinkan memanggil konstruktor tersebut. Modifier akses dijelaskan lebih detail pada materi tentang Modifier Akses Java

Sebagai contoh, jika konstruktor dideklarasikan protected maka hanya class dalam paket yang sama, atau subclass dari class tersebut yang dapat memanggil konstruktor tersebut.

Sebuah class dapat memiliki banyak konstruktor, dan masing-masing konstruktor dapat memiliki modifier aksesnya sendiri-sendiri. Jadi beberapa konstruktor bisa saja tersedia untuk semua class dalam aplikasi kita, sementara beberapa konstruktor lain hanya tersedia bagi class-class yang ada dalam paket yang sama, atau subclass, atau bahkan hanya untuk class itu sendiri (konstruktor privat)

Default, Konstruktor Tanpa Argumen

Kita tidak harus mendefinisikan sebuah konstruktor untuk sebuah class, tetapi jika kita tidak menentukan konstruktor apapun, kompailer Java akan menyisipkan konstruktor default tanpa-argument. Jadi, sekali class dikompail dia akan selalu memiliki setidaknya konstruktor tanpa argumen

Jika kita menentukan sebuah konstruktor untuk class kita, maka kompailer Java kemudian tidak akan menyisipkan konstruktor default tanpa argumen ke dalam class kita

(reza@rumahilmu.or.id)

 

About Reza Ervani 387 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.