Apa itu Constructor Overloading di Java

Diterbitkan: 2022-11-16

Permintaan untuk aplikasi web sedang meningkat secara global. Java telah muncul sebagai pilihan utama bagi pengembang dengan kebutuhan pemrograman skala besar. Popularitas Java bergantung pada fitur-fiturnya yang dinamis, antarmuka yang ramah pengguna, dan kompatibilitas tinggi dengan sistem operasi terkemuka. Bahasanya memiliki API yang kaya. Keuntungan lain dari Java adalah ia menawarkan dukungan komunitas yang kuat dan layanan dokumentasi yang sangat baik. Jangan lupakan rangkaian alat pengembangan yang ditawarkan oleh Java.

Daftar isi

Apa yang Anda maksud dengan konstruktor di Jawa?

Konstruktor di Java terutama digunakan untuk menginisialisasi status objek. Mirip dengan metode, konstruktor terdiri dari sekelompok instruksi atau pernyataan yang harus dijalankan saat objek sedang dibuat.

Apa perlunya Konstruktor di Jawa?

Untuk menjelaskan perlunya pembatas di Jawa, mari kita ambil contoh kotak. Pertimbangkan kotak sebagai kelas. Kotak akan memiliki variabel yang berbeda seperti panjang, lebar, dan tinggi. Saat waktunya membuat objek, kelas kotak tidak akan memiliki nilai yang ditentukan untuk dimensinya. Saat objek baru dibuat, konstruktor menetapkan nilai ke variabel kelas dengan dua cara – dengan berbagai parameter yang diteruskan oleh pemrogram atau dengan menggunakan konstruktor Java default.

Apa yang Anda maksud dengan Constructor Overloading di Jawa?

Dalam kelebihan beban konstruktor , beberapa konstruktor dari kelas yang sama didefinisikan. Namun, setiap konstruktor harus memiliki tanda tangan yang unik atau parameter masukan yang spesifik. Program overloading konstruktor di Java memungkinkan satu kelas memiliki lebih dari satu konstruktor, yang berbeda dengan daftar argumen yang diteruskan. Setiap konstruktor yang kelebihan beban digunakan untuk melakukan berbagai tugas kelas.

Kompiler Java mengidentifikasi konstruktor yang kelebihan beban berdasarkan jenis parameter, daftar parameter, dan jumlah parameter masukan. Sangat jelas bahwa konstruktor yang kelebihan beban memiliki tanda tangan yang berbeda. Tanda tangan konstruktor akan berisi tipe parameter dan namanya. Terkadang masalah ambiguitas muncul ketika dua konstruktor kelas memiliki tanda tangan yang identik. Dalam situasi seperti itu, kompiler tidak dapat membedakan keduanya. Oleh karena itu menampilkan pemberitahuan kesalahan. Terkadang, ada konstruktor yang kelebihan muatan dengan tanda tangan yang berbeda. Dalam hal ini, kompiler memastikan bahwa konduktor dipanggil tergantung pada jumlah parameter input dari objek yang berbeda.

Contoh Overloading Konstruktor

Dalam contoh ini, kami ingin membuat dua objek dari kelas StudentData . Satu objek menggunakan konstruktor default, sementara yang lain menggunakan konstruktor berparameter. Kedua konstruktor memiliki kode inisialisasi terpisah. Dimungkinkan untuk membuat konstruktor angka apa pun dengan kode inisialisasi berbeda-2 untuk tujuan berbeda-2.

StudentData.java

kelas Data Siswa

{

siswa int pribadi ;

string pribadi stuName;

anak sekolah int pribadi ;

Data Siswa ()

{

//Konstruktor default

stuID = 100 ;

stuNama = “Mahasiswa Baru” ;

umur anak = 18 ;

}

StudentData ( int num1, String str, int num2)

{

//Konstruktor berparameter

stuID = angka1;

stuNama = str;

StuAge = num2;

}

// Metode pengambil dan penyetel

public int getStuID() {

kembalikan pelajar;

}

public void setStuID( int stuID) {

ini .stuID = stuID;

}

string publik getStuName() {

kembali stuName;

}

public void setStuName( String stuName) {

ini .stuName = stuNama;

}

public int getStuAge() {

kembali anak laki-laki;

}

public void setStuAge( int stuAge) {

this .stuAge = stuAge;

}

public static void main( String args[])

{

// Pembuatan objek ini akan memanggil konstruktor default

StudentData myobj = new StudentData ();

Sistem . keluar .println( “Nama Siswa adalah: “ +myobj.getStuName());

Sistem . out .println( “Usia Siswa adalah: “ +myobj.getStuAge());

Sistem . keluar .println( “ID Mahasiswa adalah: “ +myobj.getStuID());

/*Pembuatan objek ini akan memanggil parameterized

* konstruktor StudentData(int, String, int)*/

StudentData myobj2 = new StudentData ( 555 , “Chaitanya” , 25 );

Sistem . keluar .println( “Nama Siswa adalah: “ +myobj2.getStuName());

Sistem . out .println( “Usia Siswa adalah: “ +myobj2.getStuAge());

Sistem . keluar .println( “ID Mahasiswa adalah: “ +myobj2.getStuID());

}

}

Keluaran:

Nama Mahasiswa adalah : Mahasiswa Baru

Usia Pelajar adalah : 18

ID Mahasiswa adalah : 100

Nama Mahasiswa adalah : Chaitanya

Siswa Usia adalah : 25

ID Mahasiswa adalah : 555

Referensi: https://beginnersbook.com/2013/05/constructor-overloading/

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top Dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Memahami fungsi this () dalam overloading konstruktor

kelas publik OverloadingExample2

{

int pribadi rollNum;

OverloadingContoh2 ()

{

rolNum = 100 ;

}

OverloadingExample2 ( int rnum)

{

ini ();

/*this() digunakan untuk memanggil default

* konstruktor dari konstruktor berparameter.

* Itu harus selalu menjadi pernyataan pertama

* di dalam tubuh konstruktor.

*/

rollNum = rollNum+ rnum;

}

public int getRollNum() {

return rollNum;

}

public void setRollNum( int rollNum) {

ini .rollNum = rollNum;

}

public static void main( String args[])

{

OverloadingExample2 obj = new OverloadingExample2 ( 12 );

Sistem . keluar .println(obj.getRollNum());

}

}

Keluaran

112

Referensi: https://beginnersbook.com/2013/05/constructor-overloading/
Webinar Pengembangan Perangkat Lunak Eksklusif upGrad untuk Anda –
Webinar Pengembangan Perangkat Lunak Eksklusif upGrad untuk Anda –

Bisnis SAAS – Apa Bedanya?

Dalam program yang disebutkan di atas, konstruktor berparameter dipanggil selama pembuatan objek. Konstruktor default dipanggil karena this () ditempatkan di konstruktor berparameter. Variabel rollNum diinisialisasi.

Contoh lain:

Saat Anda tidak mengimplementasikan konstruktor apa pun, kompiler java akan memasukkan konstruktor default ke dalam kode selama kompilasi. Namun, kompiler tidak melakukan ini saat Anda mengimplementasikan konstruktor apa pun. Lihat contoh di sini untuk memahami poin ini dengan lebih baik:

Demo kelas publik

{

int pribadi rollNum;

// Kami tidak mendefinisikan konstruktor tanpa arg di sini

Demo ( int rnum)

{

rollNum = rollNum+ rnum;

}

// Metode Pengambil dan Penyetel

public static void main( String args[])

{

//Pernyataan ini akan memanggil konstruktor no-arg

Obj demo = Demo baru ();

}

}

Keluaran:

Pengecualian di utas "utama" java.lang. Error : Kompilasi yang belum terselesaikan

Masalah: Demo konstruktor ( ) tidak terdefinisi

Kursus & Artikel Populer tentang Rekayasa Perangkat Lunak

Program Populer
Program PG Eksekutif dalam Pengembangan Perangkat Lunak - IIIT B Program Sertifikat Blockchain - PURDUE Program Sertifikat Keamanan Siber - PURDUE MSC dalam Ilmu Komputer - IIIT B
Artikel Populer Lainnya
Gaji Insinyur Cloud di AS 2021-22 Gaji Arsitek Solusi AWS di AS Gaji Pengembang Backend di AS Gaji Pengembang Front End di AS
Gaji pengembang web di AS Pertanyaan Wawancara Scrum Master di tahun 2022 Bagaimana Memulai Karir di Keamanan Cyber ​​​​pada tahun 2022? Pilihan Karir di AS untuk Mahasiswa Teknik

Menjelaskan penggunaan overloading konstruktor

Dengan kelebihan beban konstruksi , menjadi mungkin untuk mengaktifkan pembuatan objek dari kelas tertentu dengan cara yang berbeda. Oleh karena itu konsep ini digunakan di berbagai program Java tergantung dari kebutuhan programmer. Saat menggunakan kelebihan beban konstruktor di Java , dimungkinkan untuk menginisialisasi objek dengan tipe data yang berbeda.

Misalnya, pertimbangkan ada objek dengan tiga variabel instan kelas. Anda harus menetapkan nilai tertentu ke variabel instan kedua dan nilai default ke variabel lain. Selesaikan ini dengan mendeklarasikan banyak konstruktor sesuai dengan tanda tangan yang berbeda di kelas konstituen.

Keuntungan Overloading Konstruktor di Jawa

Disebutkan di bawah ini adalah keuntungan utama menggunakan kelebihan konstruktor saat Anda menulis program Java:

  • Anda dapat menginisialisasi instance kelas dengan berbagai cara menggunakan kelebihan beban konstruktor.
  • Dengan kelebihan konstruktor, Anda dapat mencapai polimorfisme statis.
  • Setiap konstruktor yang kelebihan beban melakukan tugas yang berbeda untuk tujuan tertentu.
  • Kelebihan konstruktor di Java memperlancar proses mendefinisikan banyak konstruktor dalam satu kelas dengan tanda tangan khusus yang unik.

Kesimpulan

Artikel ini membahas tentang program constructor overloading di Java dan manfaatnya. Ada lebih dari satu konstruktor kelas dengan tanda tangan yang berbeda ketika konstruktor kelebihan beban. Untuk kompilasi, setiap konstruktor harus memiliki daftar parameter yang berbeda. Daftar parameter akan terdiri dari jenis dan urutan argumen. Tidak mungkin memiliki dua konstruktor dengan daftar parameter yang sama di sebuah kelas.

Program Sertifikat Pengembangan Full Stack upGrad untuk pengembang perangkat lunak dan profesional teknologi

Apakah Anda baru mengenal industri pengembangan perangkat lunak atau ingin meningkatkan keterampilan, Anda harus mempelajari keterampilan dan teknologi baru melalui kursus yang relevan. Pengembangan full-stack adalah salah satu kursus tersebut.

upGrad menawarkan Program Eksekutif dalam Pengembangan Perangkat Lunak kepada kandidat yang tertarik, dirancang khusus untuk profesional TI, pengembang perangkat lunak, profesional dukungan teknis, analis, dan lulusan baru yang ingin terjun ke arena pengembangan perangkat lunak.

Anda akan sangat terampil dalam JavaScript dan mempelajari Microservices dan MERN Stack dengan kursus ini. Seiring dengan mempelajari hampir 10+ bahasa dan alat pemrograman, Anda juga akan mempelajari berbagai alat yang digunakan secara luas di Facebook, Walmart, Netflix, dan LinkedIn. Program ini memberikan pengalaman belajar yang imersif di Cloud Labs.

Siswa yang mengikuti program sertifikat ini akan memiliki kesempatan untuk merancang, mengembangkan, menguji, dan menggunakan aplikasi web dalam proyek Capstone. Pelajar mendapatkan sesi bimbingan karir satu-ke-satu dengan mentor industri terkemuka dengan manfaat ini. Setelah menyelesaikan kursus, Anda dapat bekerja sebagai full-stack developer, UI developer, front-end, dan back-end developer.

Terapkan sekarang untuk mendaftar di kursus!

Apa gunanya konstruktor di Jawa?

Konstruktor di Java digunakan untuk menginisialisasi objek dan membuat objek kelas. Anda juga dapat menetapkan nilai awal untuk fitur dan atribut objek. Konstruktor seperti blok kode, mirip dengan metode atau proses.

Apakah kelebihan konstruktor terjadi untuk kelas statis?

Menariknya, konduktor statis tidak dapat dibebani atau diwariskan. Konduktor statis dipanggil secara otomatis. Pengguna tidak memiliki kendali saat konstruktor statis dijalankan dalam program.

Apakah ada perbedaan antara overloading konstruktor dan overloading metode?

Metode digunakan untuk melakukan fungsi kelas tertentu, sedangkan konstruktor menginisialisasi objek. Saat Anda membuat objek, konstruktor dipanggil secara implisit. Namun, metode harus dipanggil oleh pengguna secara eksplisit.