为什么最终的字段变量不能分配给空白的Java? [英] Why final field variable can not assign to blank in Java?
本文介绍了为什么最终的字段变量不能分配给空白的Java?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
public class Hello {
static final int myNumber; / *它提供空白的最终字段myNumber
可能没有被初始化错误在Eclipse * /
}
解决方案
最终变量只能通过初始化器或赋值语句进行初始化一次。它不需要在声明点被初始化:这被称为空白最终变量。
更改代码
public class Hello {
final int myNumber;
public Hello(int num){
this.myNumber = num;
}
}
静态最终变量使用静态块初始化
static {
myNumber = 0;
}
Like other variables, i want to assign final field type variable to blank but initialization is blocking by Java. What is the its logic? Maybe i want to use default values of my variables? for int = 0, string = null boolean = false etc...
public class Hello {
static final int myNumber; /* it is giving "The blank final field myNumber
may not have been initialized" error in Eclipse */
}
解决方案
A final variable can only be initialized once, either via an initializer or an assignment statement. It does not need to be initialized at the point of declaration: this is called a "blank final" variable.
change your code
public class Hello {
final int myNumber;
public Hello(int num){
this.myNumber = num;
}
}
for static final variable use static block for initialization
static{
myNumber = 0;
}
这篇关于为什么最终的字段变量不能分配给空白的Java?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文