【发布时间】:2014-08-23 13:15:01
【问题描述】:
我正在尝试在我的类的构造函数中初始化一个private final 变量。我发现这个线程解释了如何做到这一点(Initialize a static final field in the constructor),但 eclipse 似乎不喜欢我的代码。我想知道是否有人可以阐明我可能做错了什么。
public class A {
final private String myString;
public A() {
myString = "content";
}
}
有了这段代码,我得到了:
空白的 final 字段 myString 可能尚未初始化
这似乎与我链接到的线程中的示例非常相似。
感谢您的帮助!
【问题讨论】:
-
eclipse 给出了什么错误?我将您的示例剪切并粘贴到 IntelliJ 中,它很高兴。
-
它在我上面的帖子中给出了第二个代码块。我正在使用 4.4.0 和 Java 7,但运行它时的实际错误是:线程“main”java.lang.Error 中的异常:未解决的编译问题:空白的最终字段 myString 可能尚未在包中初始化。
(A.java:31) 在 package.Test.main(Test.java:5) 初始化 -
顺便说一句,我建议使用带有下划线的大写约定来命名常量
LIKE_THIS。 -
在文件上简单地调用
javac是否有效?这是一个远射。 -
@user3780616 我怀疑上面的代码会产生这个错误。请提供完整示例(您的 A 类没有第 31 行)
标签: java constructor final