Heim  >  Artikel  >  Java  >  Was Sie bei der Verwendung von Zugriffsmodifikatoren für Java-Funktionen beachten sollten

Was Sie bei der Verwendung von Zugriffsmodifikatoren für Java-Funktionen beachten sollten

WBOY
WBOYOriginal
2024-04-25 17:09:01594Durchsuche

Zu den Zugriffsberechtigungsmodifikatoren für Java-Funktionen gehören: öffentlich, geschützt, Standard und privat. Die folgenden Vorsichtsmaßnahmen müssen befolgt werden: Verschachtelte Klassen können nur auf private Mitglieder externer Klassen zugreifen. Funktionen in Unterklassen erben die Zugriffsberechtigungen der übergeordneten Klasse, können diese jedoch nicht unter Polymorphismus reduzieren restriktiver. Der Modifikator ;default macht die Funktion nur innerhalb desselben Pakets sichtbar.

Java 函数的访问权限修饰符之使用时的注意事项

Zugriffsmodifikatoren von Java-Funktionen: Vorsichtsmaßnahmen bei der Verwendung von

Vorwort

Zugriffsmodifikatoren werden verwendet, um die Sichtbarkeit von Java-Funktionen für andere Klassen oder Pakete zu steuern, was wichtig ist, um die Sicherheit des Codes zu gewährleisten Kapselung und Sicherheit sind entscheidend. In diesem Artikel werden die Vorsichtsmaßnahmen für die Verwendung von Funktionszugriffsberechtigungsmodifikatoren in Java vorgestellt und anhand praktischer Fälle veranschaulicht.

Access modifiker -private): Nur innerhalb desselben Pakets zugänglich

private:
    Nur innerhalb der Klasse zugänglich, in der sie definiert sind
  • Hinweise
  • Erforderlich bei Verwendung von Zugriffsmodifikatoren Befolgen Sie diese Hinweise:
  • Verschachtelte Klassen :
  • In einer verschachtelten Klasse definierte Funktionen können nur auf private Mitglieder ihrer äußeren Klasse zugreifen.
  • Unterklasse:
  • Funktionen in der Unterklasse erben die Zugriffsrechte der übergeordneten Klasse, können jedoch die Zugriffsrechte der übergeordneten Klasse nicht reduzieren.

Polymorphismus: Unterklassen können Funktionen der übergeordneten Klasse überschreiben, die Zugriffsberechtigungen der überschriebenen Funktionen dürfen jedoch nicht restriktiver sein als die Zugriffsberechtigungen der Funktionen der übergeordneten Klasse.

Paketsichtbarkeit:
    Der Standardmodifikator kann auch als Paketsichtbarkeit bezeichnet werden, was bedeutet, dass die Funktion nur in Klassen im selben Paket sichtbar ist.
  • Praktischer Fall
  • Demonstriert ein Codebeispiel mit zwei Klassen, die die Verwendung von Zugriffsmodifikatoren veranschaulichen:
  • // 外部类
    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();
        }
    }
  • In diesem Beispiel:
  • OuterClass >privateField kann nur sein Zugriff innerhalb von OuterClass.
  • Auf protectedField in OuterClass kann in OuterClass und seinen Unterklassen zugegriffen werden.
  • AufdefaultField in OuterClass kann von jeder Klasse im selben Paket aus zugegriffen werden.

Auf publicField in OuterClass kann von überall aus zugegriffen werden. InnerClass kann auf öffentliche, geschützte und Standardmitglieder in OuterClass zugreifen, jedoch nicht auf private Mitglieder.

Das obige ist der detaillierte Inhalt vonWas Sie bei der Verwendung von Zugriffsmodifikatoren für Java-Funktionen beachten sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn