电费预付协议:这道java题怎么解?
来源:百度文库 编辑:高考问答 时间:2024/05/13 18:41:45
public class Test {
public static void add3 (Integer i) {
int val = i.intValue();
val += 3;
i = new Integer(val);
}
public static void main(String args[]) {
Integer i = new Integer(0);
add3(i);
System.out.println(i.intValue());
}
}
----------
答案是0
public static void add3 (Integer i) {
int val = i.intValue();
val += 3;
i = new Integer(val);
}
public static void main(String args[]) {
Integer i = new Integer(0);
add3(i);
System.out.println(i.intValue());
}
}
----------
答案是0
java 里面都是值类型,不是引用类型
public static void add3 (Integer i) {
int val = i.intValue();
val += 3;
i = new Integer(val);
}
这个方法里面的i是一个临时变量,所以
Integer i = new Integer(0);
add3(i);
后,原来对象中i的
值不变