Java值传递和引用传递
1 什么是Java值传递和引用传递
在Java中只有值传递,而没有引用调用。如果我们调用传递值的方法,则称为按值调用。在调用方法中完成的更改在调用方法时不受影响。
2 Java值传递-原始类型
如果值传递的是原始类型,则原始值是不会更改的。让我们举一个简单的例子:
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
class Demo{
int data=50;
void change(int data){
data=data+100;//更改将仅在局部变量中
}
public static void main(String args[]){
Operation op=new Operation();
System.out.println("更改前:"+op.data);
op.change(500);
System.out.println("更改后:"+op.data);
}
}
输出结果为:
更改前:50
更改后:50
3 Java值传递-对象类型
在值传递的过程,如果传递的是对象类型,如果被调用的方法进行数据更改,则原始值会被更改。下面示例中,我们将对象作为值传递。让我们举一个简单的例子:
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
class Demo{
int data=50;
void change(Demo op){
op.data=op.data+100;//成员变量的值将被更改
}
public static void main(String args[]){
Demo op=new Demo();
System.out.println("更改前:"+op.data);
op.change(op);//passing object
System.out.println("更改后:"+op.data);
}
}
输出结果为:
更改前:50
更改后:150
热门文章
优秀文章