Pengubah kebenaran akses fungsi Java termasuk: awam, dilindungi, lalai dan peribadi. Langkah berjaga-jaga berikut perlu diikuti: Kelas bersarang hanya boleh mengakses ahli peribadi kelas luaran dalam subkelas mewarisi kebenaran akses kelas induk, tetapi tidak boleh mengurangkannya di bawah polimorfisme, apabila subkelas mengatasi fungsi kelas induk, kebenaran akses tidak boleh; lebih ketat. Pengubah suai lalai menjadikan fungsi kelihatan hanya dalam pakej yang sama. . Enkapsulasi dan keselamatan adalah kritikal. Artikel ini akan memperkenalkan langkah berjaga-jaga untuk menggunakan pengubah kebenaran akses fungsi dalam Java dan menggambarkannya melalui kes praktikal.
Pengubah suai akses
Pengubah suai akses fungsi yang biasa digunakan di Java termasuk:
awam: Boleh diakses di mana-mana sahaja
dilindungi:dalam pakej yang sama ault (pakej -peribadi): Hanya boleh diakses dalam pakej yang sama
peribadi:Polymorphism:
Subkelas boleh mengatasi fungsi kelas induk, tetapi kebenaran akses bagi fungsi yang diganti tidak boleh lebih ketat daripada kebenaran akses fungsi kelas induk.// 外部类 public class OuterClass { private int privateField; // 私有字段 protected int protectedField; // 受保护字段 int defaultField; // 默认字段 public int publicField; // 公共字段 // 私有方法 private void privateMethod() { System.out.println("私有方法"); } // 受保护方法 protected void protectedMethod() { System.out.println("受保护方法"); } // 默认方法 void defaultMethod() { System.out.println("默认方法"); } // 公共方法 public void publicMethod() { System.out.println("公共方法"); } } // 内部类 class InnerClass { public static void main(String[] args) { OuterClass outer = new OuterClass(); // 访问内部类中的公共字段 System.out.println(outer.publicField); // 访问外部类中的默认字段(因为内部类和外部类在同一包中) System.out.println(outer.defaultField); // 无法访问外部类中的私有字段 // System.out.println(outer.privateField); // 无法访问外部类中的受保护字段(因为内部类不是外部类的子类) // System.out.println(outer.protectedField); // 无法调用外部类中的私有方法 // outer.privateMethod(); // 可以调用外部类中的受保护方法 outer.protectedMethod(); // 可以调用外部类中的默认方法 outer.defaultMethod(); // 可以调用外部类中的公共方法 outer.publicMethod(); } }Dalam contoh ini:
OuterClaste>hanya boleh dikodkan >OuterClaste> diakses dalam <code>OuterClass
. ProtectedField
dalam OuterClass
boleh diakses dalam OuterClass
dan subkelasnya. defaultField
dalam OuterClass
boleh diakses dari mana-mana kelas dalam pakej yang sama. OuterClass
boleh diakses dari mana-mana sahaja.
InnerClass
boleh mengakses ahli awam, dilindungi dan lalai dalam OuterClass
, tetapi bukan ahli persendirian. Atas ialah kandungan terperinci Perkara yang perlu diberi perhatian apabila menggunakan pengubah suai akses untuk fungsi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!