您的位置:首页 > 其它

值传递和引用传递

2017-12-09 16:38 134 查看
1.值传递:适用于基本数据类型和String类,传递的是数据的拷贝,被调用对象对新数据的改变不影响原数据的取值

2.引用数据类型:传递的是引用地址的拷贝,被调用对象对新数据的改变影响原数据的取值,因为新数据和原数据的引用虽然不同但却指向堆中的同一数据对象。

package com.wugeek.test;
/**
* @author 作者 :peanut.w
* @version 创建时间:2017年12月9日 下午4:13:17
* 类说明
*/
public class TestPass {
int a=123;//基本数据类型int
String b="123";//特殊的类string
StringBuffer c=new StringBuffer("123");//引用数据类型
public void method(){
this.changeInt(a);
System.out.println(a);
this.changeString(b);
System.out.println(b);
this.changeStringBuffer(c);
System.out.println(c);

}
public void changeInt(int x){
x=1234;
}
public void changeString(String y){
y="1235";

}
public void changeStringBuffer(StringBuffer stringBuffer){
stringBuffer.append(456);

}
public static void main(String [] args){
TestPass test =new TestPass();
test.method();
}
//输出结果:123   123   123456

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  值传递 引用传递