Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mensimulasikan Fungsi `rakan` C di Jawa?

Bagaimanakah Saya Boleh Mensimulasikan Fungsi `rakan` C di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-12-17 00:28:25
asal
239 orang telah melayarinya

How Can I Simulate C  's `friend` Functionality in Java?

Mensimulasikan Konsep 'rakan' C dalam Java

Untuk memberikan akses terus kepada kaedah persendirian antara kelas daripada pakej yang berbeza di Jawa, pertimbangkan teknik berikut:

Langkah 1: Buat "Tandatangan Keselamatan" Kelas

Dalam pakej kelas yang inginkan akses, tentukan kelas awam yang bertindak sebagai "tandatangan keselamatan". Kelas ini hanya boleh diakses dalam pakejnya.

Langkah 2: Hadkan Pembina

Jadikan pembina kelas tandatangan keselamatan peribadi. Ini memastikan bahawa hanya kelas dalam pakejnya boleh membuat instantiatenya.

Langkah 3: Buat Rujukan Statik

Isytihar pembolehubah statik jenis kelas tandatangan keselamatan. Ini membolehkan akses mudah kepada objek tandatangan.

Langkah 4: Tentukan Kaedah Sasaran

Dalam kelas yang ingin membenarkan akses terhad, tentukan kaedah yang memerlukan kelas tandatangan keselamatan sebagai hujah. Kaedah ini harus mempunyai kebenaran akses yang sesuai, seperti awam atau dilindungi.

Contoh:

Pertimbangkan senario di mana kelas Romeo (dalam pakej Montague) mahu mengakses bukan- kaedah awam kelas Juliet (dalam pakej Capulet).

Juliet.java:

package capulet;

public class Juliet {

    public void cuddle(Romeo.Love love) {
        if (love == null) {
            throw new NullPointerException();
        }
        System.out.println("O Romeo, Romeo, wherefore art thou Romeo?");
    }
}
Salin selepas log masuk

Romeo.java:

package montague;

public class Romeo {

    public static final class Love { private Love() {} }
    private static final Love love = new Love();

    public void cuddleJuliet() {
        Juliet.cuddle(love);
    }
}
Salin selepas log masuk

Dalam contoh ini , kelas Romeo.Love bertindak sebagai tandatangan keselamatan. Hanya Romeo yang boleh membinanya kerana pembina peribadinya. Kaedah peluk dalam Juliet memerlukan contoh Romeo.Love untuk melaksanakan, yang boleh disediakan oleh Romeo. Ini menghalang akses tanpa kebenaran daripada kelas lain di luar pakej Montague.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Fungsi `rakan` C di Jawa?. 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