【发布时间】:2019-08-27 16:05:04
【问题描述】:
我检查了整个互联网是否可以在 java 的构造函数中重新分配最终变量,并且到处都说有可能。然而对我来说,在 2019 年 6 月的 Eclipse 中,尝试这样做时它给了我一个错误:
感谢您的帮助!
这里是相同的代码,和文本一样:
public class FinalClass {
final int n = 5;
}
class InheritedClass extends FinalClass {
{
n = 6;
}
}
从命令行编译时会产生此错误:
C:\stuff>javac FinalClass.java
FinalClass.java:7: error: cannot assign a value to final variable n
n = 6;
^
1 error
【问题讨论】:
-
将链接发布到“无处不在”。
-
如果您打算让构造函数重新分配值,为什么不直接删除第一个分配?
-
@chrylis 使用此方面的一个示例:stackoverflow.com/questions/5093744/…
-
您刚刚发布了一个链接,指向一个关于“为什么不这行得通?”的问题?
-
当它说你可以做到这一点时,我认为它们不是子类的意思。
标签: java variables inheritance constructor final