class Temp{
final static int x;
public static void main(String[] args){
}
}
编译错误:变量x在默认构造方法做默认构造函数初始化的静态变量?
为什么自变量是静态的它说不是在默认的构造函数初始化未初始化? 默认构造函数在这里有什么作用?
class Temp{
final static int x;
public static void main(String[] args){
}
}
编译错误:变量x在默认构造方法做默认构造函数初始化的静态变量?
为什么自变量是静态的它说不是在默认的构造函数初始化未初始化? 默认构造函数在这里有什么作用?
它不仅是静态的......它是最终的静态的:) 静态最终成员应该初始化内联或静态块。
Thanx ...但我的问题是,这里的默认构造函数是什么 –
@RahulGupta它是最肯定的**不** **角色的_any_构造函数,默认或其他,以初始化'静态“字段,并在这一点上,该消息是误导。 –
@KevinAnderson thanx –
你说得对,该错误信息是不是非常有帮助。一个static final
变量(一般惯例是把static
final
前)必须初始化或者在申报点或通过一个静态块:
final static int x = 0;
//or
final static int y;
static {
y = 0;
}
我不能说任何相关的bug报告,所以你可以,如果提交一个你要。
Thanx ...我尝试了最终的非静态变量也...它给出了同样的错误。如果最终是非静态的......错误是可以接受的 –
这是因为变量是'final',你需要在其声明的时刻进行初始化。 –
或在一个静态初始化块 – Flown