super_Fake
拉比小熊
采纳率25%
2020-10-26 14:54

Java方法调用问题(求大佬们指点一下问题所在)

图片说明

调用了方法但是a和b的值没有得到改变,后面尝试将方法返回值类型改int,然后return a,但是输出依然没有改变。想请教下各位大佬问题出在哪里?要怎样调用方法才能使a,b的值得到改变?谢谢了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • wzy_168 Happywzy~ 6月前

    这里涉及到一个问题:参数的值传递和引用传递,由于int是基本类型,貌似只能进行值传递,所以才有你的问题出现。
    可以创建一个类,就可以进行引用传递,如下示例

    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.println(b.value);
        }
    
        public static void exchange(INT a, INT b) {
            a.value = a.value + b.value;
            b.value = a.value + b.value;
        }
    
        static class INT{
            int value;
    
            public INT(int value) {
                this.value = value;
            }
        }
    }
    
    点赞 1 评论 复制链接分享
  • qq_25376897 qq_25376897 6月前

    java里面的参数传递分两种,值传递和引用传递,基础类型的数据就是值传递,就是我复制一份给你,你怎么操作,就是针对副本做的,影响不了我原数据。引用传递复制的是地址,类似C语言里面的指针

    点赞 1 评论 复制链接分享