Java方法的参数传递机制

形参是基本数据类型:

实参赋值给形参的是数据值,形参值的修改不影响实参,因为实参是”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);
	}
}

形参是引用数据类型:

实参赋值给形参的是对象的地址值,如果形参修改了对象的属性值,那么实参对象的属性值也会修改。

例:

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;
}

posted @ 2020-11-12 12:27  散颖  阅读(69)  评论(0编辑  收藏  举报