举例说明如下:
class Demo {
private int num;
Demo(int num) {
this.num = num;
}
int getValue(int arg){
return num + arg;
}
void setDemoValue(Demo x){
x.num = 10;
}
public static void main(String[] args) {
//创建Demo类的对象d,将num设置为4
Demo d = new Demo(4);
/*
* 值传递举例
* 向getValue方法中传入一个数值15,打印结果为20
*/
System.out.println(d.getValue(16));//打印结果20
//对象d所对应的num仍然为4
System.out.println(d.num);//打印结果4
/*
* 引用传递
* 向setDemoValue方法中传入一个Demo类的对象引用d,
* 在该操作中将引用d所对应的num的数值修改为10
*/
d.setDemoValue(d);
//对象d所对应的num被修改为10
System.out.println(d.num);//打印结果10
}
} |