黑马程序员技术交流社区

标题: 方法中传基本类型与引用类型区别? [打印本页]

作者: 王虎    时间: 2012-10-15 03:30
标题: 方法中传基本类型与引用类型区别?
???什么
作者: 乔九    时间: 2012-10-15 07:58
方法中传基本类型与引用类型区别?
1:传基本类型:实际上是将参数的值作了一个拷贝传进方法函数的,那么在方法函数里再怎么改变其值,其结果都是只改变了拷贝的值,而不是源值。
如public class Test {

public static void test(boolean test) {

test = ! test;

System.out.println("In test(boolean) : test = " + test);

}

public static void main(String[] args) {

boolean test = true;

System.out.println("Before test(boolean) : test = " + test);

test(test);

System.out.println("After test(boolean) : test = " + test);

}

}
运行结果:

Before test(boolean) : test = true

In test(boolean) : test = false

After test(boolean) : test = true
2: 引用传递
引用其实就像是一个对象的名字或者别名 (alias),一个对象在内存中会请求一块空间来保存数据,根据对象的大小,它可能需要占用的空间大小也不等。访问对象的时候,我们不会直接是访问对象在内存中的数据,而是通过引用去访问。引用也是一种数据类型,我们可以把它想象为类似 C 语言中指针的东西,它指示了对象在内存中的地址——只不过我们不能够观察到这个地址究竟是什么。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2