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

Jos*_*ick 0 java encapsulation private class

在下面这段简单的代码中,肯定会产生错误,而是记录'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");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*m B 8

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

  • 将`TestClass`放在一个单独的文件中. (3认同)