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!