我正在阅读一篇关于私有访问说明符的文章,何时使用私有以及它在以下 url 的封装方面提供了什么好处关于私有访问说明符
但是本文中关于访问类外部的私有变量的一件事并不清楚。尽管私有方法或变量在类外部无法访问,但可以通过使用 setAccessible(true) 并在其中更改 private 来通过反射访问它们能见度。
你能不能给我看一个小例子,这样我也能从技术上理解。
类的“私有”成员只能在程序中访问,也可以通过它自己的对象访问。即使是同一包中的继承类也无法通过组合访问。观察代码。可以从相同的类方法访问私有变量。
class Test
{
private int x = 10;
public void display()
{
System.out.println(x);
}
}
public class Demo extends Test
{
public static void main(String args[])
{
Demo d1 = new Demo();
System.out.println(d1.x); // error
Test t1 = new Test();
System.out.println(t1.x); // error , it is composition (has-a relationship)
t1.display(); // this works
}
}
我在网上搜索了这个答案。我在 way2java.com 的主题公共方法和私有变量中找到