我的代码:A.java
package pack1;
public class A {
final static int x;
}
用于编译代码的命令:
javac -d . A.java
编译时错误:
A.java:5: error: variable x not initialized **in the default constructor**
final static int x;
^
1 error
现在,这里编译器应该抛出类似=>的错误
error: variable x not initialized **in the static block**
因为在这种情况下可以进行初始化,所以声明的最终静态未初始化变量仅=>
1)声明时或
2)内部静态块
图片中没有构造函数。。。仍然编译器抛出错误,这是令人误解的。
我正在使用jdk 1.8
java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
最佳答案
这是jdk中的错误。
https://bugs.openjdk.java.net/browse/JDK-8184444
仍未解决..
关于java - 编译未初始化的最终静态变量时,编译显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45121052/