java这个程序的流程是什么?请启发我的知识
调用obj1时会发生什么。test2(obj2)此方法中应用了哪些值?如果我们交换这些值,那么之前的值和应用的值是什么?请启发我的知识
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 楼答案
这两种方法都在对象值之间进行交换。唯一的区别是,一种方法使用两个参数,另一种只使用一个参数。为了更好地理解,你可以跟随评论