java中基本类型能否作为引用传递

Java 中方法传参,如果参数是基本类型,则为值传递,那么能否进行引用传递呢?

void func1() {
    int a = 1;
    func2(a);
    System.out.println(a); // 1
}

void func2(int a) {
    a = 3;
}

例如:以上代码在func1 中调用func2 ,希望a的值能变为3,在java中能否实现?
不通过return的方式。

功能类似于以下C++实现:

void func1() {
    int a = 1;
    func2(a);
    cout << a ; // 3
}

void func2(int & a) {
    a = 3;
}
阅读 4.2k
2 个回答

1、return(作者要求不使用这种方法,舍弃)
2、楼上的方法
3、a作为全局变量,func2中,this.a = 3;

可以自定义一个类,比如 User ,类中包含一个a属性。
传参的时候传user,修改的时候修改user.a

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题