Rumah Java javaTutorial Pembina di java

Pembina di java

Nov 04, 2024 pm 07:36 PM

Pelajaran utama daripada artikel ini

  • Apakah itu pembina tanpa hujah lalai?
  • Bagaimanakah pembina tanpa hujah lalai digunakan?
  • Bagaimana untuk memanggil pembina?
  • Kelebihan menggunakan pembina.

Lima peraturan pembina

  • Pernyataan pertama pembina ialah panggilan kepada pembina lain menggunakan this() atau panggilan kepada pembina dalam induk langsung menggunakan super().
  • Super() tidak boleh digunakan selepas pernyataan pertama pembina.
  • Jika tiada panggilan super diisytiharkan dalam pembina, Java akan memasukkan super tanpa hujah sebagai pernyataan pertama pembina.
  • Jika ibu bapa tidak mentakrifkan pembina tanpa hujah dan kanak-kanak itu tidak menentukan mana-mana pembina, pengkompil akan membuang ralat dan cuba memasukkan pembina tanpa hujah lalai.

Apakah itu pembina dalam Java?

Constructors in java
Pembina dalam Java ialah kaedah khas yang digunakan untuk memulakan objek. Ia dipanggil secara automatik apabila objek kelas dibuat dan bertanggungjawab untuk menetapkan keadaan awal dan nilai atribut objek.

Setiap kelas mempunyai sekurang-kurangnya satu pembina. Jika tiada pembina diisytiharkan, pengkompil akan memasukkan pembina tanpa hujah lalai.

Constructors in java

Berikut ialah output

Constructors in java

Jika pembina induk mengambil hujah, pembina super() juga akan mengambil hujah.
Kami merujuk kepada arahan super() sebagai pembina induk walaupun yang mengambil hujah.
Di Jawa, jika pembina tidak secara eksplisit memanggil pembina lain dalam kelas yang sama (menggunakan ini(...)) atau pembina induk (menggunakan super(...)), maka pengkompil Java secara tersirat akan memasukkan panggilan ke pembina tanpa hujah bagi kelas induk (super()). Tingkah laku ini memastikan logik permulaan kelas induk dijalankan sebelum logik kelas anak

Constructors in java

Subkelas boleh mentakrifkan pembina tanpa hujah walaupun ibu bapa mereka tidak. Pembina kanak-kanak memetakan pembina induk melalui panggilan eksplisit arahan super().

Cara memanggil pembina

Pembina induk sentiasa dilaksanakan sebelum pembina anak. Ia dipanggil apabila anda membuat contoh baharu kelas menggunakan kata kunci baharu. Setiap pembina dalam kelas boleh mempunyai parameter yang berbeza (pembina lebih muatan), membenarkan cara yang berbeza untuk memulakan objek.

1. Memanggil Pembina dengan
baharu Apabila anda membuat contoh kelas menggunakan baru, pembina yang sepadan dipanggil. Jika terdapat berbilang pembina, pembina yang mempunyai parameter yang sepadan dipilih.

Constructors in java

  • Orang baharu() memanggil pembina tanpa hujah.

  • Orang baharu("Alice", 25) memanggil pembina dengan dua parameter.

2. Memanggil Seorang Pembina daripada Yang Lain (Pembinaan Rantaian)
Dalam kelas, anda boleh memanggil satu pembina daripada yang lain menggunakan ini(...). Ini dipanggil constructor chaining. Ia membantu untuk menggunakan semula logik pembina dan mengelakkan pertindihan kod.

Constructors in java
Dalam perkara di atas, Kereta baharu("Toyota") memanggil pembina dengan satu parameter, yang kemudiannya memanggil ini(model, 2023) untuk merantai kepada pembina dengan dua parameter.

3. Memanggil Pembina Ibu Bapa (super(...))
Apabila kelas memanjangkan kelas lain, anda boleh memanggil pembina kelas induk menggunakan super(...). Ini diperlukan jika kelas induk tidak mempunyai pembina tanpa hujah atau jika anda ingin menyampaikan hujah khusus kepada pembina induk.
Constructors in java.
Dalam perkara di atas, Anjing baharu("Buddy") memanggil theDogconstructor, yang kemudiannya memanggil super("Mammal") untuk memulakan medan jenis dalam kelasAnimal`.

Kelebihan menggunakan pembina

1. Permulaan Objek: Pembina memastikan objek berada dalam keadaan sah sebaik sahaja objek itu dibuat. Dengan memulakan medan dan menyediakan data penting, pembina menjamin bahawa objek sedia untuk digunakan serta-merta selepas instantiasi.

2. Fleksibiliti Berlebihan: Java membenarkan pembina dibebankan, membolehkan berbilang cara untuk mencipta dan memulakan objek. Fleksibiliti ini membantu dalam mengendalikan pelbagai keperluan permulaan dan memudahkan penciptaan objek dalam konteks yang berbeza.

3. Enkapsulasi Logik Permulaan: Pembina merangkum logik permulaan, memastikan kod persediaan teratur dan membenarkan pengubahsuaian mudah tanpa memberi kesan kepada kelas atau kod pelanggan yang lain. Ini juga menyembunyikan butiran persediaan yang kompleks, memudahkan penciptaan objek untuk pembangun lain.

4. Penciptaan Objek Tidak Boleh Ubah: Untuk kelas yang direka bentuk untuk tidak berubah, pembina membenarkan tetapan semua medan yang diperlukan sekali, menjadikannya mustahil untuk mengubah suainya kemudian. Ini penting untuk mencipta objek yang boleh dipercayai dan selamat benang dalam aplikasi berbilang benang.

5. Kebolehgunaan Kod melalui Rantaian: Pembina boleh memanggil satu sama lain (menggunakan ini(...) atau super(...)), mendayakan logik permulaan dikongsi dalam kelas yang sama atau daripada kelas induk. Ini membantu mengelakkan lebihan dan menggalakkan kod yang lebih bersih, DRY (Jangan Ulangi Diri Sendiri).

6. Menguatkuasakan Medan Diperlukan: Pembina membenarkan medan wajib ditetapkan pada masa penciptaan objek. Tanpa pembina, medan yang diperlukan boleh terlepas, berpotensi meninggalkan objek dalam keadaan tidak lengkap atau tidak konsisten.

7. Kebolehbacaan Dipertingkat: Pembina meningkatkan kebolehbacaan kod dengan menjelaskan parameter mana yang penting untuk penciptaan objek. Ini menjelaskan kepada pembangun lain nilai yang diperlukan untuk memulakan objek dengan betul.

8. Panggilan Automatik ke Pembina Kelas Super: Pembina secara automatik memanggil pembina kelas super, memastikan medan induk dan logik permulaan dilaksanakan terlebih dahulu. Panggilan automatik ini menyokong warisan dengan menyediakan keseluruhan hierarki kelas.

9. Menyokong Suntikan Ketergantungan: Pembina sesuai untuk suntikan kebergantungan, terutamanya dalam rangka kerja seperti Spring, di mana kebergantungan boleh disuntik melalui parameter pembina. Pendekatan ini meningkatkan modulariti, kebolehujian dan fleksibiliti dalam aplikasi.

10. Memudahkan Penciptaan Objek dalam API dan Pustaka: Untuk pengguna perpustakaan atau API, pembina menyediakan cara mudah untuk mencipta objek dengan persediaan yang minimum. Ini meningkatkan pengalaman pengguna, kerana mereka tidak perlu melakukan konfigurasi yang rumit selepas mencipta objek.

Kesimpulan
Pembina memainkan peranan penting dalam Java, menyediakan mekanisme yang teguh untuk pemulaan dan persediaan objek. Mereka memastikan bahawa objek dicipta dalam keadaan yang sah, menyokong pemulaan fleksibel melalui lebihan beban, dan menggalakkan kebolehgunaan semula kod dengan rantaian dan enkapsulasi logik. Dengan memanggil pembina induk semasa melanjutkan kelas, Java mengekalkan pendekatan berstruktur untuk warisan, mengukuhkan integriti objek dan kebolehbacaan.

Atas ialah kandungan terperinci Pembina di java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1670
14
Tutorial PHP
1276
29
Tutorial C#
1256
24
Adakah perisian keselamatan syarikat menyebabkan aplikasi gagal dijalankan? Bagaimana cara menyelesaikan masalah dan menyelesaikannya? Adakah perisian keselamatan syarikat menyebabkan aplikasi gagal dijalankan? Bagaimana cara menyelesaikan masalah dan menyelesaikannya? Apr 19, 2025 pm 04:51 PM

Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Bagaimanakah saya menukar nama kepada nombor untuk melaksanakan penyortiran dan mengekalkan konsistensi dalam kumpulan? Bagaimanakah saya menukar nama kepada nombor untuk melaksanakan penyortiran dan mengekalkan konsistensi dalam kumpulan? Apr 19, 2025 pm 11:30 PM

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Bagaimana untuk memudahkan isu pemetaan medan dalam dok sistem menggunakan mapstruct? Bagaimana untuk memudahkan isu pemetaan medan dalam dok sistem menggunakan mapstruct? Apr 19, 2025 pm 06:21 PM

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Bagaimanakah Idea IntelliJ mengenal pasti nombor port projek boot musim bunga tanpa mengeluarkan log? Bagaimanakah Idea IntelliJ mengenal pasti nombor port projek boot musim bunga tanpa mengeluarkan log? Apr 19, 2025 pm 11:45 PM

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Bagaimana dengan elegan mendapatkan nama pemboleh ubah kelas entiti untuk membina keadaan pertanyaan pangkalan data? Bagaimana dengan elegan mendapatkan nama pemboleh ubah kelas entiti untuk membina keadaan pertanyaan pangkalan data? Apr 19, 2025 pm 11:42 PM

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Bagaimana cara menukar objek Java dengan selamat ke array? Bagaimana cara menukar objek Java dengan selamat ke array? Apr 19, 2025 pm 11:33 PM

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Platform e-dagang SKU dan Reka Bentuk Pangkalan Data SPU: Bagaimana untuk mengambil kira kedua-dua atribut yang ditakrifkan oleh pengguna dan produk yang tidak berkesudahan? Platform e-dagang SKU dan Reka Bentuk Pangkalan Data SPU: Bagaimana untuk mengambil kira kedua-dua atribut yang ditakrifkan oleh pengguna dan produk yang tidak berkesudahan? Apr 19, 2025 pm 11:27 PM

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...

Bagaimana menggunakan penyelesaian cache Redis untuk merealisasikan keperluan senarai kedudukan produk dengan cekap? Bagaimana menggunakan penyelesaian cache Redis untuk merealisasikan keperluan senarai kedudukan produk dengan cekap? Apr 19, 2025 pm 11:36 PM

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...

See all articles