중국어로 비공개 키워드는 비공개 키워드인데 어떻게 사용하나요?
1. 동일한 클래스에서만 액세스할 수 있습니다.
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); } }
권장 튜토리얼:java 빠른 시작
运行结果:(报错) Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible
2 외부 클래스 및 인터페이스에 할당할 수 없습니다.
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. class
private 키워드를 가장 잘 사용하는 방법은 클래스의 모든 데이터 멤버를 비공개로 만들어 Java에서 완전히 캡슐화된 클래스를 만드는 것입니다.
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 是参数 } }
运行结果: private method is invoked
추천 관련 비디오 튜토리얼:java 비디오 튜토리얼
위 내용은 Java에서 개인 키워드를 사용하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!