首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java支持按值传递。但是我不能理解下面代码的原因

Java支持按值传递。但是我不能理解下面代码的原因
EN

Stack Overflow用户
提问于 2013-04-07 01:39:19
回答 4查看 97关注 0票数 0

代码:

代码语言:javascript
运行
复制
class AB{
    int i=5;
}

class BC{
    public void test(AB a){
        a.i=10;
    }

}

public class ATest{

public static void main(String aa[]){
    AB a = new AB();
    //Base class variable value
    System.out.println(a.i);

    BC b = new BC();
    //Modifying the object "a"
    b.test(a);
    //Printing the base class object
    System.out.println(a.i);
}
}

// Output : 5
//          10

如果是按值传递,则输出应为5和5

EN

Stack Overflow用户

发布于 2013-04-07 02:08:00

让我先弄清楚按值传递是什么意思?

这意味着无论你向一个方法传递什么,它都会收到它的副本,而不是实际的地址。

因此,在本例中,您也是在传递变量a的值,并且它的值(引用对象或对对象的地址)被复制到方法(AB)。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15854032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档