Rumah >Java >javaTutorial >Bila dan Mengapa Anda Memerlukan Kata Kunci 'ini' dalam Kelas Java?

Bila dan Mengapa Anda Memerlukan Kata Kunci 'ini' dalam Kelas Java?

DDD
DDDasal
2025-01-03 18:35:40704semak imbas

When and Why Do You Need the

Memahami Penggunaan 'ini' dalam Kelas Java

Walaupun 'ini' mungkin merujuk terutamanya kepada objek semasa, penggunaan khusus dan keperluan boleh menjadi agak mengelirukan. Berikut ialah pecahan senario di mana 'ini' amat diperlukan:

1. Nyahkekaburan Rujukan Pembolehubah dalam Penetap

Kaedah penetap sering menggunakan 'ini' untuk membezakan antara parameter dan pembolehubah ahli persendirian yang berkongsi nama yang sama. Dengan menggunakan 'this.x', kod明確ly memberikan nilai parameter 'x' kepada pembolehubah contoh 'x', mengelakkan sebarang kekaburan.

Contoh:

public class Foo {
    private String name;

    public void setName(String name) {
        this.name = name;
    }
}

2. Meluluskan Contoh Kelas Semasa sebagai Argumen

Apabila menggunakan kaedah pada objek lain, 'ini' membenarkan anda menghantar contoh kelas semasa sebagai argumen. Ini membolehkan kaedah yang dipanggil untuk mengakses dan berinteraksi dengan objek semasa.

Contoh:

public class Foo {
    public String useBarMethod() {
        Bar theBar = new Bar();
        return theBar.barMethod(this);
    }

    public String getName() {
        return "Foo";
    }
}

public class Bar {
    public void barMethod(Foo obj) {
        obj.getName();
    }
}

3. Menggunakan Pembina Ganti

Dalam pembina, 'ini' boleh digunakan untuk memanggil pembina alternatif bagi kelas yang sama. Ini berguna apabila anda mempunyai berbilang pembina dan ingin memulakan objek dengan nilai tertentu.

Contoh:

class Foo {
    public Foo() {
        this("Some default value for bar");

        // Optional additional lines
    }

    public Foo(String bar) {
        // Do something with bar
    }
}

Atas ialah kandungan terperinci Bila dan Mengapa Anda Memerlukan Kata Kunci 'ini' dalam Kelas Java?. 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