📅  最后修改于: 2020-03-20 00:58:55             🧑  作者: Mango
在Java中为静态最终static final变量分配值:
在Java中,可以在构造函数中或通过声明为非静态最终变量分配值。但是,静态最终变量不能在构造函数中分配值;必须为其声明分配一个值。
例如,以下程序可以正常运行。
class Test {
// final变量
final int i;
Test()
{
i = 10;
}
// 其他代码部分
}
如果我们将i设为静态final,则必须使用代数赋值给i。
class Test {
// 静态最终变量
static final int i;
static
{
i = 10;
}
// 其他代码部分
}
由于静态变量在类的所有对象之间共享,因此这种行为是显而易见的。创建新对象将更改相同的静态变量,如果该静态变量是final,则不允许这样做。