Pembina Java: Apakah Perbezaan Antara Pembina \'void\' dan \'non-void\'?
Memahami Pembina Java: "void" vs. "non-void"
Di Java, pembina ialah kaedah khas yang memulakan contoh kelas. Tidak seperti kaedah biasa, pembina tidak menentukan jenis pulangan; sebaliknya, mereka mempunyai nama yang sama dengan kelas itu sendiri. Walau bagaimanapun, Java membenarkan kekeliruan dengan membenarkan apa yang dipanggil pembina "void".
Contoh 1: Non-Void Constructor
Dalam kod berikut, kelas pembina1( ) diisytiharkan tanpa menyatakan pulangan jenis:
public class class1 { public static Integer value = 0; public class1() { da(); } public int da() { class1.value = class1.value + 1; return 5; } public static void main(String[] args) { class1 h = new class1(); class1 h2 = new class1(); System.out.println(class1.value); // Output: 2 } }
Penjelasan:
- Pembina class1() memulakan medan statik nilai kepada 0.
- Apabila kejadian h dan h2 kelas1 dicipta, pembina dipanggil.
- Kaedah da() nilai kenaikan, menghasilkan nilai akhir sebanyak 2.
Contoh 2: Void Constructor
Sekarang pertimbangkan kod ini dengan "kosong" pembina:
public class class1 { public static Integer value = 0; public void class1() { da(); } public int da() { class1.value = class1.value + 1; return 5; } public static void main(String[] args) { class1 h = new class1(); class1 h2 = new class1(); System.out.println(class1.value); // Output: 0 } }
Penjelasan:
- Pembina "void" class1() tidak memulakan medan nilai atau memanggil sebarang kaedah.
- Apabila contoh h dan h2 dicipta, pembina lalai dipanggil, yang tidak melakukan apa-apa permulaan.
- Oleh itu, medan nilai kekal pada nilai awalnya 0.
Kesimpulan:
Di Java, pembina yang mengisytiharkan jenis pulangan , walaupun ia tidak sah, sama sekali bukan pembina. Mereka hanyalah kaedah. Pembina sebenar, yang memulakan contoh kelas, tidak sekali-kali menentukan jenis pulangan. Jika tiada pembina ditakrifkan secara eksplisit, Java secara automatik menambah pembina lalai yang tidak melakukan permulaan. Memahami perbezaan ini adalah penting untuk permulaan kelas yang betul dalam Java.
Atas ialah kandungan terperinci Pembina Java: Apakah Perbezaan Antara Pembina \'void\' dan \'non-void\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat 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 saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

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

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

Iceberg: Masa Depan Jadual Data Tasik

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

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