Java - 静态类私有字段可见外部

时间:2014-01-21 15:09:03

标签: java class private encapsulation

在下面的简单代码中,肯定会产生错误,但是它会记录's'然后记录'10'。私有字段是否不仅在其类中可见,即使该类是静态的?

public class Test  {
    public static void main(String[] args) {
        TestClass myObj = new TestClass();

        myObj.test();

        System.out.println(myObj.myField);
    }


    static class TestClass {
        private int myField = 5;

        private void test() {
            System.out.println("s");
        }
    }
}

1 个答案:

答案 0 :(得分:8)

这些字段都在Test类中,因此Test中的所有类和字段即使在私有时也可以看到对方。基本上私有关键字说“只有测试中的东西可以看到我”,在这种情况下,一切都在测试中。