Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 内部类与静态上下文_Java_Jls - Fatal编程技术网

Java 内部类与静态上下文

Java 内部类与静态上下文,java,jls,Java,Jls,正如Java为什么不允许内部类中的静态上下文一样?内部类将属于其外部类的实例 若Java接受内部类中的静态非最终变量,那个么对于外部类的不同实例,该静态变量可能有不同的值 这完全违背了静态上下文定义。这不是说静态将导致编译时错误吗。这就足够了吗?我想知道原因。它不会编译不是原因。我的问题是为什么它不会编译?你只是在问为什么,或者你正在编写的代码违反了这个规则,你想知道其他的选择吗?因为不清楚内部类的静态成员应该在哪个级别共享。从逻辑上讲,它需要与属于同一外部类实例的所有内部类实例共享,但不可能轻

正如Java为什么不允许内部类中的静态上下文一样?

内部类将属于其外部类的实例

若Java接受内部类中的静态非最终变量,那个么对于外部类的不同实例,该静态变量可能有不同的值


这完全违背了静态上下文定义。

这不是说静态将导致编译时错误吗。这就足够了吗?我想知道原因。它不会编译不是原因。我的问题是为什么它不会编译?你只是在问为什么,或者你正在编写的代码违反了这个规则,你想知道其他的选择吗?因为不清楚内部类的静态成员应该在哪个级别共享。从逻辑上讲,它需要与属于同一外部类实例的所有内部类实例共享,但不可能轻松/高效地实现它。@cricket\u 007:我不是在要求其他方法。我感兴趣的是Java为什么会做出这样的限制。