Java中真的只有值传递么?
目录
Java中真的只有值传递么?
(本文非引战或diss,只是说出自己的理解,欢迎摆正心态观看或探讨)
回顾值传递和引用传递
关于Java是值传递还是引用传递,网上有不一样的说法。
1、基本类型或基本类型的包装类以及String是值传递,引用类型是引用传递。
2、Java中只有值传递。
关于这个问题应该是存在争议的。根据测试出来的结果和我们自己的经验,以及口口相传或是上学时老师讲的,我们认为是第一种。但第二种说法的呼声也很高,渐渐地我们也认为第2中才是对的。那么下面我们就来分析一下这个问题。
在谈这个问题之前我们先了解值传递和引用传递的概念及现象。我还记得,值传递和引用传递这些概念是大学里学Java的时候老师教给我的,它们的概念是什么呢?老师是通过例子来讲解的,大概是这样的。
值传递
例子1:
1public static void main(String[] args){
2 TestJavaParamPass() tjpp = new TestJavaParamPass();
3 int num = 10;
4 tjpp.change(num);
5 System.out.println("num in main():"+i);
6}
7public