Pastikan memberikan modifier public kepada Constructor, karena ia akan dieksekusi saat pembuatan objek (instance).
Mari kita coba membuat objek baru dari class User:
User petani = new User();
Sehingga sekarang kita punya kode lengkap seperti ini:
Hasilnya saat dieksekusi:
Constructor dengan Parameter
Constructor biasanya digunakan untuk initialize (menyiapkan) data untuk class.
Untuk melakukan ini, kita harus membuat parameter sebagai inputan untuk constructor.
Contoh:
public class User { public String username; public String password; public User(String username, String password){ this.username = username; this.password = password; } }
Pada kode class User di atas, kita menambahkan parameter username dan User petani = new User();0 ke dalam constructor.
Berarti nanti saat kita membuat objek, kita harus menambahkan nilai parameter seperti ini:
User petani = new User("petanikode", "kopi");
Contoh Kode lengkapnya:
package konstruktor; public class User { public String username; public String password; public User(String username, String password){ this.username = username; this.password = password; } } class DemoConstructor{ public static void main(String[] args) { User petani = new User("petanikode", "kopi"); System.out.println("Username: " + petani.username); System.out.println("Password: " + petani.password); } }
Hasil outputnya:
Destructor dalam Java
Destructor adalah method khusus yang akan dieksekusi saat objek dihapus dari memori.
Java sendiri tidak memiliki method destructor, karena Java menggunakan gerbage collector untuk manajemen memorinya.
Jadi Si gerbage collector akan otomatis menghapus objek yang tidak terpakai.
Sementara untuk bahasa pemrograman lain, seperti C++ kita bisa membuat destructor sendiri seperti ini:
class User { public: User( String *username ); // <-- ini constructor ~User(); // <-- ini destructor. private: String username; String password; };
Apa Selanjutnya?
…Intinya constructor adalah sebuah method. Method yang akan dieksekusi saat pembuatan objek.
Sementara untuk destructor adalah kebalikan dari constructor dan Java tidak memiliki destructor karena menggunakan metode gerbage collector.