为什么在没有初始化它们的情况下声明最终局部变量(在方法内)是可以的,但是如果不初始化它们就不要声明最终的字段?
public class VariableUsingFinal {
//final int a; it won't take without intialization
final int a = 10;
public void method(){
final int b; // it takes without intialization
}
}
答案 0 :(得分:1)
对于全局声明的变量(我的意思是实例变量),java本身分配默认值,例如到int
类型变量,它为所有类型分配0,所以一旦为最终变量赋值,你就无法修改它,这就是它要求赋值的原因