我不确定为什么这段代码会编译......引用Java教程:
与静态类方法一样,静态嵌套类不能直接引用在其封闭类中定义的实例变量或方法——它只能通过对象引用来使用它们。
源: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);
}
}
}
我没想到能够直接访问成员,但是代码编译得很好。我误解了Java规范吗?
抱歉格式化,我在浏览器+帖子编辑器上苦苦挣扎。