转载自:http://ogres.iteye.com/blog/431577
原来我错了;
final 修饰的量以视为常量,
当修饰对象引用时,我错误的认为变量指向的对象是不可变的,然而对象是可变的,不可变只是“变量对对象的引用”
TestFinal
package src.test;
import java.util.HashMap;
import java.util.Map;
public class TestFinal {
private String name ;
private Map map = new HashMap ();
public TestFinal(){
name = "li" ;
}
public void put(Object key , Object value){
map.put(key, value);
}
public Object get(Object key ){
return map.get(key);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class CodeTest1 {
final TestFinal tf = new TestFinal ();
public static void main(String[] args) {
CodeTest1 ct1 = new CodeTest1 ();
ct1.tf.setName("wew");
System.out.println(ct1.tf.getName());
}
}