Last Updated on October 14, 2021 by
Java Constructors merupakan blok kode yang serupa dengan metode. Constructor atau disebut juga konstruktor akan dipanggil ketika sebuah instance dari kelas dibuat. Pada saat memanggil Constructor, memori untuk objek dialokasikan dalam memori. Constructor adalah jenis metode atau cara khusus yang dipakai dalam menginisialisasi objek.
Setiap kali sebuah objek dibuat menggunakan kata kunci new(), setidaknya satu konstruktor dipanggil. Konstruktor ini memanggil konstruktor default jika tidak ada konstruktor yang tersedia di kelas. Dalam kasus seperti itu, kompiler Java menyediakan konstruktor default secara default.
Seri tutorial Java kali ini akan membahas tentang Java Constructor. Kalau Anda ingin tahu lebih detil tentang Constructor, simak artikel Codekey berikut ini sampai akhir.
Table of Contents
Definisi Java Constructors
Berikut adalah contoh deklarasi Java Constructors sederhana. Contoh berikut ini menunjukkan kelas Java yang sangat sederhana dengan konstruktor tunggal.
public class ContohClass { public ContohClass() { } }
Konstruktor ada pada bagian ini:
public ContohClass() { }
Bagian pertama dari deklarasi konstruktor Java adalah access changer atau pengubah akses. Pengubah akses memiliki arti yang sama dengan metode dan bidang. Mereka menentukan kelas apa yang dapat mengakses (memanggil) konstruktor. Pengubah akses dibahas lebih detail dalam tutorial pengubah akses Java saya.
Bagian kedua dari deklarasi Java Constructor adalah nama kelas yang dimiliki konstruktor. Menggunakan nama kelas untuk konstruktor memberi sinyal kepada kompiler Java bahwa ini adalah konstruktor. Perhatikan juga bahwa konstruktor tidak memiliki tipe pengembalian, seperti yang dimiliki metode lain.
Bagian ketiga yang berada pada deklarasi Java Constructor merupakan list parameter yang bisa diambil oleh constructor. Parameter konstruktor berada dalam tanda kurung () agar dapat dideklarasikan setelah bagian nama kelas dari Java Constructor. Dalam contoh deklarasi konstruktor di atas tidak ada parameter yang dideklarasikan. Saya akan menunjukkan contoh deklarasi konstruktor Java dengan parameter nanti dalam teks ini.
Bagian keempat yang ada pada deklarasi konstruktor Java adalah body constructor. Body constructor ini harus terdefinisi di dalam kurung kurawal {} setelah list parameter. Dalam contoh konstruktor di atas konstruktor tidak memiliki operasi di dalam badan konstruktor. Dikatakan sebagai konstruktor “empty”.
Ada dua jenis konstruktor di Java: konstrukt tanpa argument atau default constructor, dan konstruktor berparameter. Mereka disebut konstruktor karena membangun nilai pada saat pembuatan objek. Tidak perlu menulis konstruktor untuk kelas. Itu karena kompiler Java membuat konstruktor default jika kelas Anda tidak memilikinya.
Ada dua aturan yang didefinisikan untuk konstruktor pada Java:
- Nama konstruktor wajib sama dengan class name atau nama kelasnya.
- Konstruktor tidak boleh memiliki excplicit return type (tipe pengembalian yang eksplisit)
- Konstruktor Java tidak bisa abstrak, statis, final, dan disinkronkan
Jenis Constructors pada Java
Ada dua jenis konstruktor di Java. Jenis konstruktor akan dijelaskan selengkapnya pada berikut ini.
1. Default Constructor (konstruktor tanpa argumen)
Konstruktor disebut Default Constructor ketika tidak memiliki parameter apa pun. Berikut ini adalah contoh syntax default constructor untuk membuat constructor pada Java.
1. <nama_kelas>(){ 2. 3. } Contoh Default Constructor: 1. class Pesan { 2. Pesan() { 3. System.out.println("Selamat Belajar Java"); 4. } 5. 6. public static void main(String args[]){ 7. Pesan p=new Pesan(); 8. } 9. }
Hasil:
Selamat Belajar Java
Dalam contoh ini, kita membuat konstruktor tanpa argument di kelas Pesan. Konstruktor tanpa argument atau populer dikenal dengan default constructor akan dipanggil ketika pembuatan objek berlangsung.
1. class Pegawai { 2. int id; 3. String nama; 4. 5. void view() { 6. System.out.println(id+" "+nama); 7. } 8. 9. public static void main(String args[]) { 10. Pegawai p1=new Pegawai(); 11. Pegawai p2=new Pegawai(); 12. 13. p1.view(); 14. p2.view(); 15. } 16. } Hasil: 0 null 0 null
Pada kelas di atas, Anda tidak membuat konstruktor lain oleh karena itu compiler menyediakan Anda default constructor. Di sini, 0 dan null adalah nilai yang disediakan oleh default constructor.
2. Parameterized Constructor
Parameterized Constructor atau konstruktor yang memiliki sejumlah parameter tertentu disebut konstruktor berparameter. Mengapa menggunakan konstruktor berparameter? Konstruktor parameter digunakan untuk memberikan nilai yang berbeda untuk objek yang berbeda. Namun, Anda juga dapat memberikan nilai yang sama.
Berikut ini adalah contoh konstruktor berparameter. Dalam contoh ini, Codekey membuat konstruktor kelas Siswa yang memiliki dua parameter. Umumnya, saat bekerja dengan Java dapat memiliki sejumlah parameter dalam konstruktor.
1. class Pegawai { 2. int id; 3. String nama; 4. 5. Pegawai(int x, String y) { 6. id = x; 7. nama = y; 8. } 9. void view() { 10. System.out.println(id+" "+nama); 11. } 12. 13. public static void main(String args[]) { 14. Pegawai p1 = new Pegawai(37,"Andi"); 15. Pegawai p2 = new Pegawai(38,"Budi"); 16. 17. p1.view(); 18. p2.view(); 19. } 20. } Output: 37 Andi 38 Budi
Constructor Overloading di Java
Pada Java, konstruktor sama seperti metode tetapi tanpa tipe pengembalian. Itu juga bisa kelebihan beban seperti metode Java. Overloading konstruktor di Java adalah teknik memiliki lebih dari satu konstruktor dengan daftar parameter yang berbeda. Mereka diatur sedemikian rupa sehingga setiap konstruktor melakukan tugas yang berbeda. Mereka dibedakan oleh kompiler dengan jumlah parameter dalam daftar dan tipenya.
Contoh Overloading Konstruktor
1. class Pegawai{ 2. int id; 3. String nama; 4. String hobi; 5. 6. Pegawai(int x, String y){ 7. id = x; 8. nama = y; 9. } 10. 11. Pegawai(int x, String y, String z){ 12. id = x; 13. nama = y; 14. hobi = z; 15. } 16. void view() { 17. System.out.println(id+" "+nama+" "+hobi); 18. } 19. 20. public static void main(String args[]){ 21. Pegawai p1 = new Pegawai(37, "Andi", "Membaca"); 22. Pegawai p2 = new Pegawai(38, "Budi", "Berenang"); 23. p1.view(); 24. p2.view(); 25. } 26. } Hasil: 37 Andi Membaca 38 Budi Berenang
Perbedaan antara konstruktor dan metode di Java
Ada banyak perbedaan antara konstruktor dan metode. Berikut ini adalah penjelasannya.
- Konstruktor digunakan untuk menginisialisasi keadaan suatu objek. Sementara, sebuah metode digunakan untuk mengekspos perilaku suatu objek.
- Konstruktor tidak boleh memiliki return type atau tipe pengembalian. Sementara, sebuah metode harus memiliki return type.
- Konstruktor dipanggil atau dijalankan secara implisit. Sementara, metode ini dipanggil atau dijalankan secara eksplisit.
- Kompiler Java menyediakan konstruktor default jika Anda tidak memiliki konstruktor di kelas. Sedangkan, metode ini tidak disediakan oleh kompiler dalam hal apa pun.
- Nama konstruktor harus sama dengan nama kelas. Sedangkan, nama metode mungkin atau mungkin tidak sama dengan nama kelas.
Java Copy Constructor
Tidak ada copy constructor di Java. Namun, kita dapat menyalin nilai dari satu objek ke objek lain seperti menyalin konstruktor di C++. Menyalin nilai dari satu objek ke objek lain di Java memiliki banyak cata. Adapun cara-cara tersebut adalah:
- Menggunakan konstruktor
- Dengan menetapkan value/nilai dari satu objek ke objek lain
- Dengan metode clone() dari kelas Object
Dalam contoh ini, kita akan menyalin nilai dari satu objek ke objek lain menggunakan konstruktor Java.
1. class Pegawai{ 2. int id; 3. String nama; 4. 5. Pegawai(int x, String y) { 6. id = x; 7. nama = y; 8. } 9. 10. Pegawai(Pegawai p) { 11. id = p.id; 12. nama =p.nama; 13. } 14. void view() { 15. System.out.println(id+" "+nama); 16. } 17. 18. public static void main(String args[]){ 19. Pegawai p1 = new Pegawai(31, "Gumi"); 20. Pegawai p2 = new Pegawai(p1); 21. 22. p1.view(); 23. p2.view(); 24. } 25. } Hasil: 31 Gumi 31 Gumi
Menyalin Nilai tanpa Constructor
Kita dapat menyalin nilai dari satu objek ke objek lain dengan menetapkan nilai objek ke objek lain. Dalam hal ini, tidak perlu membuat constructor pada Java:
1. class Pegawai{ 2. int id; 3. String nama; 4. 5. Pegawai(int x, String y){ 6. id = x; 7. nama = y; 8. } 9. 10. Pegawai() { 11. } 12. 13. void view() { 14. System.out.println(id+" "+nama); 15. } 16. 17. public static void main(String args[]){ 18. Pegawai p1 = new Pegawai(31, "Gumi"); 19. Pegawai p2 = new Pegawai(); 20. p2.id=p1.id; 21. p2.nama=p1.nama; 22. 23. p1.view(); 24. p2.view(); 25. } 26. } Hasil: 31 Gumi 31 Gumi
Demikianlah penjelasan tentang Java Constructors. Tersedia Constructor Class pada Bahasa Pemrograman Java. Class ini bisa dipakai untuk memperoleh informasi internal dari konstruktor di kelas. Konstruktor ini dapat ditemukan dalam paket java.lang.reflect.
Jika Anda tertarik untuk belajar Java secara lebih mendalam, jangan lupa mengunjungi seri tutorial Java di https://codekey.id. Codekey merupakan media untuk para pemula mempelajari tentang pemrograman. Codekey menyediakan banyak materi dan tutorial seputar bahasa pemrograman yang terkenal seperti Dart maupun Python. Jangan sampai ketinggalan update terbaru dari Codekey!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.