java - 编译未初始化的最终静态变量时,编译显示错误消息

标签 java compiler-errors java-8 javacompiler

我的代码: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/

相关文章:

java - 使用无参数构造函数添加到数组

java - 如何使用流将 String 数组转换为 int 数组

java - 如何修复 "error: <item> inner element must either be a resource reference or empty."?

java - 用于车辆位置的实时网站和Java中的数据库R/W

java - 意外绑定(bind)

java - 在java中展平一个嵌套的N级嵌套对象

java - 有限制的分区

android - 如何解决java.lang.NoClassDefFoundError

java - 字符.isDigit()错误: no suitable method found for isDigit(String)

java - 包 com.sun.xml.internal.messaging.saaj.soap.dynamic 不存在