【发布时间】:2017-01-25 05:15:05
【问题描述】:
根据JLS §8.1.3,为什么 Java 不允许 Inner 类中的静态上下文?
【问题讨论】:
-
不是说静态会导致编译时错误。有足够的理由吗?和相关的 - docs.oracle.com/javase/tutorial/java/javaOO/nested.html
-
我想知道原因。它不会编译不是那个原因。我的问题是为什么它不会编译?
-
您只是在问为什么,还是您正在编写的代码违反了这条规则并且您想知道替代方案?
-
因为不清楚应该在哪个级别共享内部类的静态成员。从逻辑上讲,它需要与属于同一个外部类实例的所有内部类实例共享,但不可能轻松/有效地实现。
-
@cricket_007:我不是在问替代方案。我对 Java 为什么做出这样的限制很感兴趣。