cari
RumahJavajavaTutorialJava Constructors: Apakah Perbezaan Antara Void dan Non-Void Constructors?

Java Constructors: What's the Difference Between Void and Non-Void Constructors?

Pembina dalam Java: "Void" lwn. "Non-Void"

Dalam bahasa pengaturcaraan Java, kelas boleh mempunyai pembina, yang ialah kaedah khas yang dipanggil apabila contoh kelas dibuat. Pembina berfungsi untuk memulakan keadaan objek. Terdapat dua jenis pembina: pembina "void" dan pembina "non-void".

Pembina "Non-Void"

Pembina "non-void" mengisytiharkan jenis pulangan selain batal. Dalam erti kata lain, ia mengembalikan nilai, biasanya contoh kelas itu sendiri. Apabila pembina "non-void" dipanggil, objek baharu dicipta dan nilai yang dikembalikan diberikan kepada pembolehubah rujukan yang memanggil pembina.

"Void" Constructors

Pembina "Void", sebaliknya, tidak mengisytiharkan jenis pulangan. Sebaliknya, mereka hanya melaksanakan badan pembina dan memulakan keadaan objek. Mereka tidak mengembalikan nilai, dan oleh itu tidak boleh digunakan untuk mencipta objek baharu.

Isu Keterlihatan Pembina

Di Java, pembina tidak mempunyai pengubah suai akses yang sama seperti kaedah. Keterlihatan pembina mesti sepadan dengan keterlihatan kelas itu sendiri. Contohnya, jika kelas diisytiharkan awam, maka pembinanya juga mesti diisytiharkan awam.

Contoh: Kesan Keterlihatan Pembina

Pertimbangkan dua coretan kod berikut:

Contoh 1: Pembina dengan Pulangan Taip

public class Class1 {
    public static Integer value = 0;
    public Class1() { da(); }
    public int da() {
        Class1.value += 1;
        return 5;
    }
    public static void main(String[] args) {
        Class1 h = new Class1();
        Class1 h2 = new Class1();
        System.out.println(Class1.value);
    }
}

Contoh 2: Pembina dengan Jenis Pengembalian Void

public class Class1 {
    public static Integer value = 0;
    public void Class1() { da(); }
    public int da() {
        Class1.value += 1;
        return 5;
    }
    public static void main(String[] args) {
        Class1 h = new Class1();
        Class1 h2 = new Class1();
        System.out.println(Class1.value);
    }
}

Pemerhatian:

Dalam Contoh 1, output ialah 2. Ini kerana pembina memanggil kaedah da(), yang menambah medan nilai sebanyak 1.

Walau bagaimanapun, dalam Contoh 2, output ialah 0. Ini kerana pembina dengan jenis pengembalian void sebenarnya tidak memanggil kaedah da(). Sebaliknya, ia adalah kaedah dengan nama yang sama dengan kelas, yang berbeza daripada pembina.

Kesimpulan:

Di Java, pembina bukan kaedah. Ia digunakan untuk memulakan keadaan objek dan tidak mempunyai jenis pulangan. Percubaan untuk mengisytiharkan pembina dengan jenis pemulangan selain daripada batal akan mengakibatkan ralat penyusunan.

Atas ialah kandungan terperinci Java Constructors: Apakah Perbezaan Antara Void dan Non-Void Constructors?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)