If name
被宣布final
,为什么我还能打电话name.append
输出是:shreya
?我认为最终变量一旦赋值就不能更改?
public class Test1 {
final static StringBuilder name = new StringBuilder("sh");
public static void main(String[] args) {
name.append("reya");
System.out.println(name);
}
}
final
指的是无法更改参考,例如你不能说name = new StringBuilder()
。确实如此not使引用的对象不可变。
不变性是一个属性class。可变类型的对象始终是可变的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)