首页 青云排行榜 知识中心 控制台

下面代码的输出是什么?(     )

public class Test15 { 
    public static void main(String[] args) { 
        VO a = new VO(2); 
        VO b = new VO(3); 
        swapONE(a, b); 
        print(a, b); 
        swapTWO(a, b); 
        print(a, b); 
    } 
    private static void print(VO a, VO b) { 
        System.out.print(a.toString() + b.toString()); 
    } 
    public static void swapONE(VO a, VO b) { 
        VO tmp = a; 
        a = b; 
        b = tmp; 
    } 
    public static void swapTWO(VO a, VO b) { 
        int tmp = a.x; 
        a.x = b.x; 
        b.x = tmp; 
    } 
} 
class VO { 
    public int x; 
    public VO(int x) { 
        this.x = x; 
    } 
    public String toString() { 
        return String.valueOf(x); 
    } 
}

2332

3232

3223

2323

对象作为参数时,参数变量是对象的引用,修改参数变量并不会修改对象本身,所以swapONE没有意义。
当修改参数对象的属性时,对象本身发生了变化,所以swapTWO数据会发生交换
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082