2020年8月2日 方法的传递机制(参数是基本数据类型、参数是引用数据类型)

/*
方法的参数传递机制:
    实参-->形参

(1)形参是基本数据类型
    实参赋值给形参的是数据值,形参值的修改不影响实参,因为实参是“copy,复制”了一份数据值给形参

*/
class Test02_PassParamValue{
    public static void main(String[] args){
        int x = 1;
        int y = 2;
        //本类同级别的方法调用
        swap(x,y);
        
        System.out.println("x = " + x + ",y = " + y);//形参是基本数据类型
    }
    //public static修饰符
    public static void swap(int a,int b){
        System.out.println("a = " + a + ",b = " + b);
        int temp = a;
        a = b;
        b = temp;
        System.out.println("a = " + a + ",b = " + b);
    }
}//输出结果:a=1 b=2a=2 b=1x=1 y=2
/*
方法的参数传递机制:
    实参-->形参


(2)形参是引用数据类型    
    实参赋值给形参的是对象的地址值,如果形参修改了对象的属性值,那么实参对象的属性值也会修改。
*/
class Test02_PassParamValue_2{
    public static void main(String[] args){
        Circle yuan = new Circle();
        yuan.radius = 1.0;
        
        doubleRadius(yuan);
        
        System.out.println("半径:" + yuan.radius);
    }
    //方法的功能:可以把c这个圆对象的半径,变为原来的2倍
    public static void doubleRadius(Circle c){//形参是引用数据类型
        c.radius *= 2;
    }
    
}
class Circle{
    double radius;
}
//输出结果:半径:2.0
 

相关推荐