使用final关键字

时间:2015-03-09 06:27:54

标签: java final

为什么在没有初始化它们的情况下声明最终局部变量(在方法内)是可以的,但是如果不初始化它们就不要声明最终的字段?

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
    }

}

1 个答案:

答案 0 :(得分:1)

对于全局声明的变量(我的意思是实例变量),java本身分配默认值,例如到int类型变量,它为所有类型分配0,所以一旦为最终变量赋值,你就无法修改它,这就是它要求赋值的原因