【发布时间】:2013-02-01 19:48:30
【问题描述】:
我正在阅读一篇关于私有访问说明符、何时使用私有以及它在以下 url Regarding private access specifier 封装方面提供什么好处的文章
但是关于访问类外的私有变量,本文有一点不清楚。虽然私有方法或变量不能在类外访问,但可以通过使用 setAccessible(true) 和反射访问它们改变那里的私人知名度。
能否请你给我看一个小例子,以便我也能从技术上理解。
【问题讨论】:
标签: java
我正在阅读一篇关于私有访问说明符、何时使用私有以及它在以下 url Regarding private access specifier 封装方面提供什么好处的文章
但是关于访问类外的私有变量,本文有一点不清楚。虽然私有方法或变量不能在类外访问,但可以通过使用 setAccessible(true) 和反射访问它们改变那里的私人知名度。
能否请你给我看一个小例子,以便我也能从技术上理解。
【问题讨论】:
标签: java
类的“私有”成员只能在程序中访问,也可以通过它自己的对象访问。即使是同一包中的继承类也无法通过组合访问。观察代码。可以从相同的类方法访问私有变量。
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 中找到了主题Public methods and Private Variables
【讨论】: