请指教final,很菜的问题
jyn01 2003-08-20 02:28:30 final所指的对象不能被改变,这是final的作用但以下的程序不太明白。
class Test {
final Integer i = new Integer(0);/*产生final的对象i*/
void add3 (Integer i) {
int val = i.intValue ();
val += 3;
i = new Integer (val); /*改变i得指向*/
System.out.println (i.intValue ());
}
public static void main (String args [] ) {
Test t=new Test();
t.add3 (t.i);
System.out.println (t.i.intValue ());
}
}
我觉得编译
i = new Integer (val); /*改变i得指向*/
会报错,可是没有。它是不是改变了i得指向呢?请赐教。