//这样是可以的。默认如果不赋值,后期再赋值是可以的
final String testVal;
testVal=new String("1231");
//这样是不可以的。默认赋值,第二次再赋值,就会报错了。
final String testVal=new String("213");
testVal=new String("1231");
对于引用类型的对象。赋值是给栈上对象赋予一个对堆上对象的引用地址。即使对象被final修饰了。对堆上对象的值进行修改是完全可以的。只是栈上的对象 “引用地址”这个值是不能被修改了
网友评论