public class Test{ private final int i; public Test(){ } public Test(int i){ this.i=i;}}
4 回答
_小王爷
TA贡献1条经验 获得超0个赞
java中final 修饰的变量是不可以更改的.所以在修饰变量时,一定要赋初始值.
在普通的全局变量中,如果不赋初始值,java都会有一个默认值,比如 int 的默认值为0
按照以上理论,如果被final修饰的变量不赋初始值,由java指定,也就是0.又因为不可修改.
那么这样赋值的意义何在?
所以,final修饰的全局变量一定要赋初始值.
但是,凡是都有一个但是;
在修饰引用数据类型的时候,不能改变的是这个引用指向的堆内存的地址值.可以改变堆内存中的数据.
添加回答
举报
0/150
提交
取消