比如classB中引用到classA中的一个静态方法(两个参数a,b),在调用这个静态方法之后,希望a,b的值能够互相调换。
请问这个静态方法怎么实现啊????!!!!
public class TestA { public static void HHA(int a,int b){
int c;
c=a;
a=b;
b=c;
}
}public class TestB {
public static void main(String[] args){
int a=10;
int b=11;
TestA.HHA(a,b);
System.out.println("===a=="+a+"====b="+b); }
}怎么使a与b的值互换啊?????
谢谢!!!
请问这个静态方法怎么实现啊????!!!!
public class TestA { public static void HHA(int a,int b){
int c;
c=a;
a=b;
b=c;
}
}public class TestB {
public static void main(String[] args){
int a=10;
int b=11;
TestA.HHA(a,b);
System.out.println("===a=="+a+"====b="+b); }
}怎么使a与b的值互换啊?????
谢谢!!!
所以这样是达不到目的的,
即使在方法内部改变了,外部a,b的值还是不会改变的
ublic class TestB {
public static void main(String[] args){
int a=10;
int b=11;
int c =a;b=c;a=b;
System.out.println("===a=="+a+"====b="+b);}
}
public static void main(String[] args) {
Hello h = new Hello();
h.m = 10;
h.n = 11;
h.change();
System.out.println(h.m);
System.out.println(h.n);
}
}
class Test{
public int m = 0;
public int n = 1;
public void change(){
int c;
c = this.m;
this.m = this.n;
this.n = c;
}
}
System.out.println(h.m);
System.out.println(h.n);
int a=10;
int b=11;
int[] ab = { a, b };
swap(ab);
a=ab[0];
b=ab[1];
System.out.println("===a=="+a+"====b="+b);
}public static void swap(int[] ab) {
int i = ab[1];
ab[1] = ab[0];
ab[0] = i;
}
java规定:
对于简单数据类型,是值传递,方法接收参数的值,但是不能改变它。如果要改变参数的值,则用引用数据类型。因为引用数据类型传入的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。
2 java语言有八个原始类型,int是其中的一种,把原始类型进行参数传递时,传的是值本身,所以不能改变main方法中a,b是值.
3 解决办法我只想了一个,构造整型的包装类,把int值用构造函数传到包装类中,用包装类的对象作参数进行传递,再得用包装类的方法对值操作.因为传递的是引用值.
构造方法: int a=10;
int b=11;
Integer aInt=new Integer(a);
Integer bInt=new Integer(b);