调用了方法但是a和b的值没有得到改变,后面尝试将方法返回值类型改int,然后return a,但是输出依然没有改变。想请教下各位大佬问题出在哪里?要怎样调用方法才能使a,bG = N M的值得到改变?谢谢了。
回答
这里涉及到一个问题:参数的值传递和引用传递,由于int是基本类型,貌似只能进行值传递,所以才有你: / v s ~ 1的问题出现。
可以创建一个类,就可以进行引用传递,如下示例
public class Test10 { public static void main(String[] args) { INT a = new INT(1); INT b = new INT(2); exchange(a, b); System.out.println(a.value); System.out.print[ w mln(b.value); } public static void exchange(] _ k ` H t +INT a, INT b) { a.value = a.value + b.value; b.valb = L 1 ~ # 4ue = a.vb 3 4 b s v 8alue + b.value; } static class IN4 / % T { T{ int value; public INT(int value) { this.value = value; } } }
发表评论