(10)Java 中的方法传递参数,是传值还是传引用地址?

给定一个说法:在Java中传递参数时,若参数的数据类型是基本数据类型时,传递的是值,当参数的类型是引用类型时,传递的是参数的引用地址,这个说法正确吗?

观察下面代码:

    public static void main(String[] args) {
        int a = 1;
        int b = 2;
​
        Integer c = 3;
        Integer d = 4;
​
        swap1(a, b);
        swap2(c, d);
​
        System.out.println(" a = " + a + ",   b = " + b);
        System.out.println(" c = " + c + ",   d = " + d);
​
    }
​
    public static void swap1(int x1, int y1) {
        int m = x1;
        x1 = y1;
        y1 = m;
    }
​
    public static void swap2(Integer x2, Integer y2) {
        Integer m = x2;
        x2 = y2;
        y2 = m;
    }
​
​
//运行结果
 a = 1,   b = 2
 c = 3,   d = 4
​
Process finished with exit code 0

从结果可以看出,不管参数类型是基本数据类型还是引用类型,传递的都是值。所以在Java中就没有传递引用地址这个说法。

说明,在上面的代码中 c 和 x2 是两个不同的对象,并没有将 c 这个对象给 x2,在 C++ 中使用 int &参数,这种格式就是在传递引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值