java swap 方法

这个里面的关于swap方法的使用,为什么不是Swap2.swap(ch)?
2024-11-08 12:04:21
推荐回答(5个)
回答1:

package wu.zhidao;

import java.util.Scanner;

public class Test1 {
int x=2;
int y=3;

public void swap(int  a,int b)
{
x=b;
y=a;
}
public static void main(String[] args) {
Test1 t=new Test1();
System.out.println("x="+t.x+" "+"y="+t.y);
t.swap(t.x, t.y);
System.out.println("x="+t.x+" "+"y="+t.y);
}
}

回答2:

swap(ch)默认情况下 是 this.swap(ch),this表示该对象自己
即 Swap2.swap(ch);

回答3:

java swap 方法:主要就是交换,在这里首先了解数据存储空间下面,有几个例子
public static void swap(int a,int b){
int temp=a;
a=b;
b=temp;
}

public static void swap(Excep c,Excep d){
Excep temp=c;
c=d;
d=temp;
}
public static void swap(List e,List f){
List temp=e;
e=f;
f=temp;
}

public static void swap(int[] a){
if(a.length>=2){
int temp =a[0];
a[0]=a[1];
a[1]=temp;
}

}

public static void main(String[] args) {

int a=2;
int b=3;
Excep c=new Excep();
Excep d=new Excep();
List e=new ArrayList();
e.add(1);
e.add(2);
List f=new ArrayList();
f.add(3);
f.add(4);
System.out.println("交换前:"+a+"、"+b);
swap(a,b);
System.out.println("交换后:"+a+"、"+b);
System.out.println("交换前:"+c+"、"+d);
swap(c,d);
System.out.println("交换后:"+c+"、"+d);
System.out.println("交换前:"+e+"、"+f);
swap(e,f);
System.out.println("交换后:"+e+"、"+f);

int[] g={1,2};

System.out.println("交换前:"+g+":"+g[0]+"、"+g[1]);
swap(g);
System.out.println("交换后:"+g+":"+g[0]+"、"+g[1]); }
输出结果:
交换前:2、3
交换后:2、3
交换前:Excep@527c6768、Excep@65690726
交换后:Excep@527c6768、Excep@65690726
交换前:[1, 2]、[3, 4]
交换后:[1, 2]、[3, 4]
说明直接整体用临时变量交换,最终不发生变化
交换前:[I@2a9931f5:1、2
交换后:[I@2a9931f5:2、1
对内部的交换,最终也会进行交换

回答4:

同一个类内的方法

回答5:

同一个类内的方法当然可以直接这样调用了啊