在这种情况下,为什么我可以访问私有变量?

时间:2013-06-01 19:43:50

标签: java variables private

我有一个私有int变量,我通过test.a访问这个变量。为什么这样可以?我认为这种方式只有在我将public int变量变为私有时才有可能。

public class Test {

    private int a;

    public static void main(String[] args) {
        Test test = new Test(5);
        System.out.println(test.a);
    }

    public Test (int a) {
        this.a = a;
    }
}

2 个答案:

答案 0 :(得分:11)

您可以访问它,因为您的main方法属于同一类。

答案 1 :(得分:5)

根据the documentation

  

private修饰符指定只能在自己的类中访问该成员。

这包括您在类中可以拥有的所有内容:静态方法,内部类(静态或非静态),匿名类,...