【16】java的控制程序流程

基本可认为与C++相同,但是有一点值得注意的地方是:赋值的时候,可能会存在“别名”的现象:

package c03;

class Number {
int i;
}

public class Assignment {
public static void main(String[] args) {
Number n1 = new Number();
Number n2 = new Number();
n1.i = 9;
n2.i = 47;
System.out.println("1: n1.i: " + n1.i +
", n2.i: " + n2.i);
n1 = n2;
System.out.println("2: n1.i: " + n1.i +
", n2.i: " + n2.i);
n1.i = 27;
System.out.println("3: n1.i: " + n1.i +
", n2.i: " + n2.i);
}
} ///:~

如果是采用n1=n2的方式,则相当于n1和n2这两个句柄指向同一个对象,而如果采用n1.i=n2.i的方式,则是真实对象间的赋值。

posted @ 2012-03-20 09:50  Marstar  阅读(168)  评论(0编辑  收藏  举报