class Ideone {
static final int iop;//here static variable
public Ideone()
{
iop=56;
System.out.println(iop);
}
public static void main (String[] args) throws java.lang.Exception
{
new Ideone();
}
}
此处有ERROR消息
Main.java:14: error: cannot assign a value to final variable iop iop=56;
答案 0 :(得分:1)
静态最终变量应该用作常量而不是在构造函数中初始化。
将其更改为
static final int iop = 56;
答案 1 :(得分:1)
static final
个变量。
您有三种选择:
初始化内嵌:
static final int iop = 56;
通过静态方法:
进行初始化static final int iop = init();
static int init() {
return 56;
}
通过静态块:
进行初始化static final int iop;
static {
iop = 56;
}
答案 2 :(得分:1)
static
- 变量可以在没有实例的情况下使用 - 例如Ideone.iop
。
final
- 无法更改变量的值。
当您将变量声明为static final
时,JVM需要初始化变量的值。否则该变量没有用(由于final
如果你想要它是`static final,请在声明而不是构造函数中初始化它。
static final int iop = 56;