【问题标题】:Regarding access private member variables [duplicate]关于访问私有成员变量[重复]
【发布时间】:2013-02-01 19:48:30
【问题描述】:

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

但是关于访问类外的私有变量,本文有一点不清楚。虽然私有方法或变量不能在类外访问,但可以通过使用 setAccessible(true) 和反射访问它们改变那里的私人知名度。

能否请你给我看一个小例子,以便我也能从技术上理解。

【问题讨论】:

标签: java


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-02-14
    • 2016-06-06
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 2016-09-06
    • 2017-08-04
    相关资源
    最近更新 更多