Java中的静态嵌套类

cjt*_*ant 3 java static-members inner-classes

我不确定为什么这段代码编译...引用Java教程:

与静态类方法一样,静态嵌套类不能直接引用其封闭类中定义的实例变量或方法 - 它只能通过对象引用来使用它们.

Src:http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

public class StaticNested {

    private String member;
    private static String staticMember;

    static class StaticNestedClass {
        private void myMethod() {
            System.out.println(staticMember);
            StaticNested nested = new StaticNested();
            System.out.println(nested.member);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我没想到能够直接访问成员,但代码编译得很好.我误解了Java规范吗?

抱歉格式化,我正在努力使用我的浏览器+帖子编辑器.

Oli*_*rth 8

不是直接访问实例成员.

staticMember正在访问非实例成员,并nested.member通过对象引用访问它.