Rumah  >  Artikel  >  Java  >  Peraturan untuk menggunakan pengubah akses fungsi Java dalam kelas yang berbeza

Peraturan untuk menggunakan pengubah akses fungsi Java dalam kelas yang berbeza

PHPz
PHPzasal
2024-04-25 13:54:02818semak imbas

Apabila menggunakan fungsi Java dalam kelas yang berbeza, ikut peraturan hak akses berikut: Hak akses lalai terhad kepada kelas dalam pakej yang sama. Keterlihatan pakej adalah sama seperti akses lalai, tetapi digunakan untuk semua kelas dalam modul yang sama. Akses yang dilindungi terhad kepada subkelas dan kelas dalam pakej yang sama. Hak akses awam boleh dilihat dalam semua kelas.

Java 函数的访问权限修饰符之在不同类中使用的规则

Peraturan untuk menggunakan pengubah suai akses dalam fungsi Java dalam kelas yang berbeza

Pengubah suai akses dalam Java digunakan untuk mengawal skop keterlihatan kelas, kaedah dan medan. Apabila menggunakan fungsi dalam kelas yang berbeza, anda perlu mematuhi peraturan berikut:

1 Akses lalai (tiada pengubah suai)

  • Kelihatan hanya dalam kelas dalam pakej yang sama

2.

  • Sama seperti akses lalai, tetapi digunakan untuk semua kelas dalam modul yang sama

3. akses terlindung

  • hanya boleh dilihat dalam subkelas kelas ini dan kelas dalam pakej yang sama
akses awam

kelihatan dalam semua kelas
Contoh praktikal

Pertimbangkan kod berikut:

// MySuperClass.java
public class MySuperClass {
    protected void protectedMethod() {
        // ...
    }

    public void publicMethod() {
        // ...
    }
}
// MySubClass.java
public class MySubClass extends MySuperClass {
    // 可访问父类的 protected 和 public 方法
    void accessProtected() {
        protectedMethod();
    }

    void accessPublic() {
        publicMethod();
    }
}
// MyOtherClass.java
public class MyOtherClass {
    // 无法访问父类的 protected 或 public 方法
    void accessProtected() {
        // 编译错误: protectedMethod() 具有 protected 访问权限,在此包外不可访问
    }

    void accessPublic() {
        // 编译错误: publicMethod() 具有 public 访问权限,但在不同的模块中不可访问
    }
}

Dalam contoh ini, subkelas

MyOtherClass 无法访问 MySuperClass 中的 protectedMethod()publicMethod(),因为它们不是在同一包中或不是 MySuperClass

Nota

Kelas dalaman boleh mengakses semua ahli kelas luarnya, tanpa mengira pengubah suai akses.
  • Pengkompil menyemak kebenaran akses dan menjana ralat kompilasi jika peraturan dilanggar.

Atas ialah kandungan terperinci Peraturan untuk menggunakan pengubah akses fungsi Java dalam kelas yang berbeza. 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