转载自: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;
- }
-
- }
CodeTest1
- 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());
- }
- }