【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的方式,则是真实对象间的赋值。