Pembina Lebih Muatan dan Rantaian Pembina.
Nov 06, 2024 pm 01:18 PMPerhatikan bahawa:
Mempunyai pembina peribadi dalam kelas memberitahu pengkompil untuk tidak menyediakan pembina tanpa hujah lalai.
Pembina persendirian tidak boleh dibuat seketika.
ini() mestilah pernyataan pertama yang tidak diulas dalam pembina. Komen tidak kira ia dibenarkan di mana-mana sahaja.
Apakah yang dimaksudkan dengan lebihan beban pembinaan?
Pembebanan konstruktor dalam Java merujuk kepada penggunaan lebih daripada satu pembina dalam kelas contoh. Walau bagaimanapun, setiap pembina yang terlebih beban mesti mempunyai tandatangan yang berbeza. Untuk kompilasi berjaya, setiap pembina mesti mengandungi senarai argumen yang berbeza.
Anda boleh mempunyai berbilang pembina dalam kelas yang sama asalkan mereka mempunyai tandatangan kaedah yang berbeza. Apabila membebankan kaedah, nama kaedah dan senarai parameter perlu dipadankan. Dengan pembina, nama sentiasa sama kerana ia mesti sama dengan nama kelas. Pembina mesti mempunyai parameter yang berbeza agar lebih muatan.
public class Hamster { private String color; private int weight; public Hamster(int weight) { // first constructor this.weight = weight; color = "brown"; } public Hamster(int weight, String color) { // second constructor this.weight = weight; this.color = color; } }
Dalam perkara di atas, salah satu pembina mengambil satu parameter int. Yang lain mengambil int dan String. Senarai parameter ini berbeza, jadi pembina berjaya dibebankan.
Terdapat masalah di sini, walaupun. Terdapat sedikit pertindihan. Apa yang kita mahukan ialah pembina pertama memanggil pembina kedua dengan
dua parameter.
Penjalinan pembina
Ia adalah apabila pembina terlebih beban memanggil satu sama lain. Satu teknik biasa ialah mempunyai setiap
pembina menambah satu parameter sehingga sampai ke pembina yang melakukan semua kerja.
public class Mouse { private int numTeeth; private int numWhiskers; private int weight; public Mouse(int weight) { this(weight, 16); // calls constructor with 2 parameters } public Mouse(int weight, int numTeeth) { this(weight, numTeeth, 6); // calls constructor with 3 parameters } public Mouse(int weight, int numTeeth, int numWhiskers) { this.weight = weight; this.numTeeth = numTeeth; this.numWhiskers = numWhiskers; } public void print() { System.out.println(weight + " " + numTeeth + " " + numWhiskers); } public static void main(String[] args) { Mouse mouse = new Mouse(15); mouse.print(); } }
hasil: 15 16 6
Kaedah main() memanggil pembina dengan satu parameter. Pembina itu menambah nilai berkod keras kedua dan memanggil pembina dengan dua
parameter. Pembina itu menambah satu lagi nilai berkod keras dan memanggil pembina
dengan tiga parameter. Pembina tiga parameter menetapkan pembolehubah contoh.
Penjalinan konstruktor digunakan apabila anda ingin memanggil pembina
dalam pembina lain.
Faedah Gabungan Lebih Muatan dan Rantai
Bersama-sama, beban lampau dan rantaian pembina memberikan fleksibiliti, kecekapan dan kod yang boleh diselenggara. Lebihan beban membolehkan anda menyokong pelbagai senario permulaan, manakala rantaian memastikan anda boleh memusatkan logik dikongsi dan mengurangkan lebihan.
Atas ialah kandungan terperinci Pembina Lebih Muatan dan Rantaian Pembina.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Cara berkongsi data antara langkah -langkah dalam timun
