传递基本类型参数和传递引用类型参数的区别

∥☆過路亽.° 提交于 2019-12-02 09:12:41
public class Circle {
    public double radius;

    public Circle(double newRadius) {
        radius = newRadius;
    }
}
public class Test {
    public static void main(String[] args) {
        Circle c1 = new Circle(1);
        Circle c2 = new Circle(2);
        swap1(c1, c2);
        System.out.println("After swap1: c1= " + c1.radius + " c2= " + c2.radius);
        swap2(c1, c2);
        System.out.println("After swqp2: c1= " + c1.radius + " c2= " + c2.radius);
    }

    public static void swap1(Circle x, Circle y) {
        Circle temp = x;
        x = y;
        y = temp;
    }

    public static void swap2(Circle x, Circle y) {
        double temp = x.radius;
        x.radius = y.radius;
        y.radius = temp;
    }
}
"D:\java 12.0\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=49808:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\26601\Desktop\library_management_sys-master\untitled1\out\production\untitled1 Test
After swap1: c1= 1.0 c2= 2.0
After swqp2: c1= 2.0 c2= 1.0

Process finished with exit code 0

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!