这两种方式实现m和n的互换都可以吗?
public class ValueTransferTest2 {
public static void main(String[] args) {
Data data = new Data();
data.m = 10;
data.n = 20;
System.out.println("m = " + data.m + ", n = " + data.n);
//交换m和n的值
ValueTransferTest2 test = new ValueTransferTest2();
test.swap(data);
System.out.println("m = " + data.m + ", n = " + data.n);
}
public void swap(Data data){
int temp = data.m;
data.m = data.n;
data.n = temp;
}
}
class Data{
int m;
int n;
}
方式二:
public class ValueTransferTest2 {
public static void main(String[] args) {
Data data = new Data();
data.m = 10;
data.n = 20;
System.out.println("m = " + data.m + ", n = " + data.n);
data.swap(data);
System.out.println("m = " + data.m + ", n = " + data.n);
}
}
class Data{
int m;
int n;
public void swap(Data data){
int temp = data.m;
data.m = data.n;
data.n = temp;
}
}
这没区别啊,只是调用不同类中的swap方法而已。
你不妨上机调试一下
效果上是一样的,都能实现互换。