如何传对象
在java里面要交换两个数的值,最好按对象或者引用传递,因为按值传递无法成功改变两个数的值。
1:可以先建一个类,定义一个n,
package AK.homeWork;
public class test {
int n;
}
2:创建类的对象并调用n并且给值s输出
test a1=new test();
test b1=new test();
a1.n=10;
b1.n=20;
System.out.println("q:"+a1.n+"\t"+b1.n);
3:创建一个交换方法,传进来的是test类的对象
public static void swap(test a,test b) {
test tmp=new test();
tmp.n=a.n;
a.n=b.n;
b.n=tmp.n;
}
4:调用交换方法
swap(a1,b1);
System.out.println("q:"+a1.n+"\t"+b1.n);
下面给整个代码
public class testx {
public static void swap(test a,test b) {
test tmp=new test();
tmp.n=a.n;
a.n=b.n;
b.n=tmp.n;
}
public static void main(String[] args) {
test a1=new test();
test b1=new test();
a1.n=10;
b1.n=20;
System.out.println("q:"+a1.n+"\t"+b1.n);
swap(a1,b1);
System.out.println("q:"+a1.n+"\t"+b1.n);
}
}
上面的test类自己重新建一个就行,只要在一个包里面就行。
这里给一个我的分析图
形式参数类型是引用参数类型,也称为传地址,在方法执行中,对形式参数的操作也就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变会影响实际参数。
以上就是我目前的理解了。