小编Tom*_*Tom的帖子

无法从静态上下文引用内部类,但仅限于外部类是通用的

以下内容无法编译:

class Outer<T> {
    class Inner {

    }

    static class Nested {
        Inner inner; // Error: Outer.this cannot be referenced from a static context
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除<T>,它会编译.为什么不一致?

另外,如果我说Outer.Inner inner;,而不是Inner inner;,它编译.再次,为什么不一致?

我希望在所有情况下都是错误,或者没有错误.谁能解释一下发生了什么?

java generics inner-classes

5
推荐指数
1
解决办法
743
查看次数

标签 统计

generics ×1

inner-classes ×1

java ×1