Java:按值传递还是按引用传递详细解说
2012-11-14 23:02 50997 人阅读 评论(21) 收藏 举报
分类:
java(48) 变量(6)
前天在做系统的时候被 Java 中参数传递问题卡了一下,回头查阅了相关的资料,
对参数传递问题有了新的了解和掌握,但是有个问题感觉还是很模糊,就是 Java 中到底
是否只存在值传递,因为在查阅资料时,经常看到有人说 Java 只有值传递,但有人说既
有值传递,也有引用传递,对于两个观点个人觉得应该是站的角度不同而得出两个不同的
说法,其实两个说法其中的原理是一样的,只要咱们懂得其中的原理,那么至于叫什么也
就无所谓了,下面是我在网上看到的一个帖子,解释的感觉挺全面,就转过来,以供以后
学习参考:
1:按值传递是什么
指的是在方法调用时,传递的参数是按值的拷贝传递。示例如下:
[java] view plain copy
1. public class TempTest {
2. private void test1(int a){
3. //做点事情
4. }
5. public static void main(String[] args) {
6. TempTest t = new TempTest();
7. int a = 3;
8. t.test1(a);//这里传递的参数 a 就是按值传递
9. }
10. }
按值传递重要特点:传递的是值的拷贝,也就是说传递后就互不相关了。
示例如下:
[java] view plain copy
1. public class TempTest {
2. private void test1(int a){
3. a = 5;
4. System.out.println("test1 方法中的 a="+a);
5. }
6. public static void main(String[] args) {
7. TempTest t = new TempTest();
8. int a = 3;