论坛首页 入门技术论坛

传值类型与引用类型的理解

浏览 2999 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-04  
传值类型还是引用类型很长时间都一直困扰着我,以前搞懂过得,但很长时间没有注意又忘记了,这两天在面试,又遇到这个问题了,居然做不出来,现在把我的理解与大家一起分享下,如果有不对的请大家帮忙指出来!
简单的讲:传值类型,不改变值,所传的为变量的副本;引用类型改变所引用内容,传递的是只引用的一个副本

public class TestReference {

private int a=0;

public static void main(String[] args) {
int b = 0;
TestReference test = new TestReference();
test.modify(b);
test.modify(test);
System.out.println("After been modified b="+b);//传值类型,不改变值,所传的为变量的副本
System.out.println("After been modified a="+test.a);//引用类型改变所引用内容,传递的是只引用的一个副本
}
//传值类型
public void modify(int a){
a++;
System.out.println("It is modifying");
}
//引用类型
public void modify(TestReference t){
t.a++;
System.out.println("It is modifying");
}
}
   发表时间:2008-09-04  
基本型是传值的拷贝
对象是传引用的拷贝
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics