Heim  >  Artikel  >  Java  >  Ausführliche Erläuterung der Beispiele für grundlegende Java-Zugriffsberechtigungen

Ausführliche Erläuterung der Beispiele für grundlegende Java-Zugriffsberechtigungen

怪我咯
怪我咯Original
2017-06-26 11:39:571496Durchsuche

1. Überprüfung der Zugriffsmodifikatoren

==öffentlich: Auf die dadurch geänderten Klassen, Eigenschaften und Methoden kann nicht nur klassenübergreifend, sondern auch paketübergreifend zugegriffen werden

==privat: Kann Datenmitglieder, Konstruktoren und Methoden ändern, aber keine Klassen. Auf die von ihr geänderten Mitglieder kann nur von der Klasse selbst und nicht von Unterklassen zugegriffen werden

==geschützt: Kann Datenelemente, Konstruktoren und Methoden ändern, kann keine Klassen ändern, kann von Mitgliedern dieser Klasse, desselben Pakets oder seiner Unterklassen aufgerufen werden (wenn es sich um eine Unterklasse handelt, kann sie paketübergreifend sein)

==Standard : Nein Fügen Sie einen Modifikator hinzu, um nur den Zugriff im selben Paket zu ermöglichen

2. Codebeispiele

package dog;
public class Dog {
    // 公共的
    public void publicMethod() {
        System.out.println("publicMethod");
    }
    // 保护的
     protected void protectedMethod() { // 被声明为protected的方法,可以被子类继承
         System.out.println("protectedMethod");
     }

     // 默认的
     void defaultMethod() {
         System.out.println("defaultMethod");
     }

     // 私有的
     private void privateMethod() { // 这个方法只可以在类内部被调用
         System.out.println("privateMethod");
     }
 }

class T {
     public static void main(String[] args) {
         Dog d = new Dog(); // 可以访问
         d.publicMethod(); // 可以访问
         d.protectedMethod(); // 可以访问
         d.defaultMethod(); // 可以访问
         // d.privateMethod(); //私有的方法,不能被在类外访问
     }
 }

//在上例的基础上,演示跨包的情况
package cat; //和dog 包不在一起

import dog.Dog;

public class Cat {
    void test() {
        Dog dog = new Dog();

        dog.publicMethod(); // 可以
        // dog.protectedMethod(); 不可以
        // dog.privateMethod(); 不可以
        // dog.defaultMethod(); 不可以
    }
}

//在前例的基础上,演示子类中的访问情况
class NiceDog extends Dog {
    void test() {
        Dog dog = new Dog();
        dog.publicMethod(); // 可以
        protectedMethod(); // 被protected修饰的成员,可以被继承过来,并这样调用
        // dog.protectedMethod(); 不可以
        // dog.privateMethod(); 不可以
        // dog.defaultMethod(); 不可以

    }
}

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Beispiele für grundlegende Java-Zugriffsberechtigungen. 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