Heim  >  Artikel  >  Java  >  Ausführliche Erklärung zur Verwendung des privaten Schlüsselworts in Java

Ausführliche Erklärung zur Verwendung des privaten Schlüsselworts in Java

王林
王林nach vorne
2020-03-13 18:03:267345Durchsuche

Ausführliche Erklärung zur Verwendung des privaten Schlüsselworts in Java

Privates Schlüsselwort auf Chinesisch ist ein privates Schlüsselwort, also wie verwendet man es?

1. Kann nur in derselben Kategorie aufgerufen werden

class A {
    private String msg="Try to access the private variable outside the class"; // 用 private 修饰,无法别的类调用,只能在这个类中被调用
}
 
public class PrivateExample {
    public static void main(String[] args) {
        A a=new A();
        System.out.println(a.msg);
    }
}

Empfohlenes Tutorial: Java-Schnellstart

运行结果:(报错)
    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The field A.msg is not visible

2. Kann nicht externen Klassen und Schnittstellen zugewiesen werden

private class PrivateExample {  // private 是不能用来修饰类的
    void display(){
        System.out.println("Try to access outer private class");
    }
    public static void main(String[] args) {
        PrivateExample3 p=new PrivateExample();
        p.display();
    }
}
运行结果:(报错)
    Exception in thread "main" java.lang.Error: Unresolved compilation problem:

3. Erstellen Sie eine vollständig gekapselte Klasse

Die beste Verwendung des Schlüsselworts private ist durch make Alle Datenelemente der Klasse werden privat gemacht, um eine vollständig gekapselte Klasse in Java zu erstellen.

import java.lang.reflect.Method;
 
class A {
    private void display() {
        System.out.println("private method is invoked");
    }
}      
		   
public class PrivateExample {
    public static void main(String[] args)throws Exception {
 
        Class c = Class.forName("A");  // 加载 A 类
 
        Object o= c.newInstance();  // 实例化对象
 
        Method m =c.getDeclaredMethod("display", null);  // getDeclaredMethod方法返回指定方法,"display" 就是指定方法,null 表示该方法的参数
 
        m.setAccessible(true);  // setAccessible 方法能在运行时压制 Java 语言访问控制检查,从而能任意调用被私有化保护的方法 ( Method ),域 ( Field )、构造方法
        
        m.invoke(o, null);  //  invoke方法来执行对象的某个方法,括号中的 o 是方法,null 是参数
    }    
}
rrree

Empfohlene verwandte Video-Tutorials: Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Verwendung des privaten Schlüsselworts in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Welche Datei ist hprof?Nächster Artikel:Welche Datei ist hprof?