首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java 传接的参数为对象引用类型~ 求解释

2012-10-21 
java 传递的参数为对象引用类型~~ 求解释String s new String(hello )changeString(s)//changeStrin

java 传递的参数为对象引用类型~~ 求解释
String s = new String("hello ");

changeString(s);//changeString() 给s赋一个新的值

System.out.println(s);

书上给的解释是 对象引用指向的 字符串s 永远不会改变。

传递对象引用,通过这个引用去创建了 一个新的 String 类型的字符串



[解决办法]
java采用的是形参模式,传入方法的对象参数其实是原变量的一个克隆(浅克隆,其实就是指向同一地址的另一个引用)。那当你修改一个String参数的值时:String是不可变的,当你修改一个String时,事实上我们重新创建了一个对象,然后将原引用指向这个新对象。 那么最终在这个方法中,你只是将一个原变量的引用指向了另一个地址。当然不会影响原变量的指向地址中的值。
大概就是这个意思。不知道说明白了没。

热点排行