class Tank{
int level;
}
public class Assignment {
public static void main(String[] args) {
Tank t1 = new Tank();
Tank t2 = new Tank();
t1.level= 9;
t2.level= 47;
System.out.println("1:t1.level:"+t1.level+",t2.level:"+t2.level);
t1 = t2;
System.out.println("2:t1.level:"+t1.level+",t2.level:"+t2.level);
t1.level= 27 ;
System.out.println("3:t1.level:"+t1.level+",t2.level:"+t2.level);
}
}
1:t1.level:9,t2.level:47
2:t1.level:47,t2.level:47
3:t1.level:27,t2.level:27
这种特殊的现象通常作称作"别名现象",如果想避免别名问题应该
t1.level = t2.level
1:t1.level:9,t2.level:47
2:t1.level:47,t2.level:47
3:t1.level:27,t2.level:47
class Letter{
char c;
}
public class PassObject {
static void f(Letter y){
y.c = 'z';
}
public static void main(String[] args) {
Letter x = new Letter();
x.c = 'a';
System.out.println("1:x.c:"+x.c);
f(x);
System.out.println("2:x.c:"+x.c);
}
}
1:x.c:a
2:x.c:z