Java 当我在没有'';静态'';关键字。它运行良好,但带有''';静态'';关键字它显示错误
这里是错误消息Java 当我在没有'';静态'';关键字。它运行良好,但带有''';静态'';关键字它显示错误,java,Java,这里是错误消息 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
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();
}
}
静态最终变量应该用作常量,而不是在构造函数中初始化 换成
Main.java:14: error: cannot assign a value to final variable iop iop=56;
静态最终
变量无法在构造函数中初始化
您可以选择以下三种方式:
- 初始化内联:
static final int iop = 56;
static final int iop = 56;
static final int iop = init(); static int init() { return 56; }
- 通过静态方法初始化:
static final int iop = 56;
static final int iop = 56;
static final int iop = init(); static int init() { return 56; }
- 通过静态块初始化:
static final int iop = 56;
static final int iop = 56;
static final int iop = init(); static int init() { return 56; }
static
-该变量可以在没有像Ideone.iop这样的实例的情况下使用
final
-无法更改变量的值
当您将变量声明为static final
时,JVM希望初始化变量的值。否则该变量将无效(由于最终版本
,无法更改该变量)
如果希望它是“static final”,请在声明中初始化它,而不是在构造函数中初始化它
static final int iop=56代码>您必须向我们显示您收到的错误消息,并将其放入您的问题中。显示您为解决此问题所做的尝试。此处错误消息Main.java:14:ERROR:cannot assign value to final variable iop iop=56;不,不。把它放在你的问题里。