0

我正在阅读一篇关于私有访问说明符的文章,何时使用私有以及它在以下 url 的封装方面提供了什么好处关于私有访问说明符

但是本文中关于访问类外部的私有变量的一件事并不清楚。尽管私有方法或变量在类外部无法访问,但可以通过使用 setAccessible(true) 并在其中更改 private 来通过反射访问它们能见度。

你能不能给我看一个小例子,这样我也能从技术上理解。

4

1 回答 1

0

类的“私有”成员只能在程序中访问,也可以通过它自己的对象访问。即使是同一包中的继承类也无法通过组合访问。观察代码。可以从相同的类方法访问私有变量。

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 的主题公共方法和私有变量中找到

于 2013-02-17T06:28:38.230 回答