调用obj1.test2(obj2)在此方法中应用了哪些值时会发生什么?如果我们交换 Value 是什么是先前的和应用的 Value ?请启发我的知识
package app4;
public class T
{
int i;
static void test1(T t1, T t2)
{
int x = t1.i;
t1.i = t2.i;
t2.i = x;
}
void test2(T t1)
{
int x = t1.i;
t1.i = this.i;
this.i = x;
}
public static void main(String[] args)
{
T obj1 = new T(), obj2 = new T();
obj1.i = 1;
obj2.i = 2;
test1(obj1, obj2);
System.out.println(obj1.i + "," + obj2.i);
obj1.test2(obj2);
System.out.println(obj1.i + "," + obj2.i);
}
}
1 回答
两种方法都在对象值之间进行交换 . 唯一的区别是一种方法使用两个参数而另一种方法只使用一个 . 您可以按照评论进行更好的理解 .