Rumah > Java > javaTutorial > Pembina Java: Apakah Perbezaan Antara Pembina \'void\' dan \'non-void\'?

Pembina Java: Apakah Perbezaan Antara Pembina \'void\' dan \'non-void\'?

Barbara Streisand
Lepaskan: 2024-11-27 12:06:14
asal
570 orang telah melayarinya

Java Constructors: What's the Difference Between

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
    }
}
Salin selepas log masuk

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
    }
}
Salin selepas log masuk

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!

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