Rumah > Java > javaTutorial > Apakah Perbezaan Antara Pembina Lalai dan Ditakrifkan Pengguna di Java?

Apakah Perbezaan Antara Pembina Lalai dan Ditakrifkan Pengguna di Java?

Mary-Kate Olsen
Lepaskan: 2024-12-22 07:13:13
asal
826 orang telah melayarinya

What's the Difference Between Default and User-Defined Constructors in Java?

Pembina Lalai dalam Java

Di Java, pembina lalai dijana secara automatik jika tiada pembina lain ditakrifkan. Ia adalah pembina tanpa hujah yang memulakan medan kepada nilai lalainya. Kod berikut tidak mentakrifkan pembina lalai:

public Module() {
   this.name = "";
   this.credits = 0;
   this.hours = 0;
}
Salin selepas log masuk

Ini ialah pembina yang ditentukan pengguna yang mengambil hujah. Pembina lalai akan kelihatan seperti ini:

public Module() {}
Salin selepas log masuk

Atau, jika jenis medan adalah primitif:

public Module() {
   super();
   this.name = null;
   this.credits = 0;
   this.hours = 0;
}
Salin selepas log masuk

Perbezaan Utama

Yang utama perbezaan antara pembina lalai dan pembina yang ditentukan pengguna ialah:

  • Pembina lalai tidak memerlukan hujah, manakala pembina yang ditentukan pengguna boleh mempunyai hujah.
  • Pembina lalai secara automatik memulakan medan kepada nilai lalainya (cth., nol untuk objek, 0 untuk primitif berangka), manakala pembina yang ditentukan pengguna membenarkan tersuai pemula.

Pembina Lalai lwn. Tiada Pembina

Tidak mempunyai pembina langsung adalah bersamaan dengan mempunyai pembina lalai. Apabila tiada pembina, pengkompil Java secara automatik menjana satu lalai tanpa argumen dan tiada pemulaan medan.

Nota:

  • Jika mana-mana pembina ditakrifkan dalam kelas, pembina lalai tidak dijana.
  • Pembina lalai hanya boleh dibuat secara tersirat, bukan secara eksplisit.

Atas ialah kandungan terperinci Apakah Perbezaan Antara Pembina Lalai dan Ditakrifkan Pengguna di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan