Java参数的传递

发布于 2023-03-02  35 次阅读


package demo9;
/**
 * 参数的数据类型:
 * 1.值类型(8种基本数据类型)
 * 2.引用类型(类、数组)
 * 二、参数的传递
 * 1.按值传参(实参传递给形参的值是实参值的一份拷贝)
 * 2.按址传参(实参传递给形参的是实参的地址)
 */
public class ParamDemo1 {// 演示参数类型为值类型的参数传递
	
	public void changevalue(int val) {// 形参的数据类型为值类型
		System.out.println("方法内val变量改变前的值:" + val);
		// 改变 val 变量的值
		val ++;
		System.out.println("方法内val变量改变后的值:" + val);
	}
	
	public static void main(String[] args) {
		// 创建对象
		ParamDemo1 data = new ParamDemo1();
		int num = 10;
		System.out.println("引用changevalue方法前num变量的值" + num);
		//调用changcalue方法
		data.changevalue(num); // num是实参
		System.out.println("引用changevalue方法后num变量的值" + num);
	}
}
package demo9;
public class ParamDemo2 {
	public int id;
	
	public void changeValue(ParamDemo2 val) {
		System.out.println("方法内val对象id变量改变前的值:"+val.id);
		val.id ++;
		System.out.println("方法内val对象id变量改变后的值:"+val.id);
	}
	public static void main(String[] args) {
		// 创建对象
		ParamDemo2 data = new ParamDemo2();
		data.id = 10;
		System.out.println("data对象id变量未调用changeValue方法前的值" + data.id);
		data.changeValue(data);
		System.out.println("data对象id变量未调用changeValue方法后的值" + data.id);
	}
}

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。