急急急:关于函数参数和返回值的疑惑…… 1.除了基本型别外,传的是reference。2.你的newname()方法就是生成一个temp对象然后返回temp啊。3.是的,在堆中。基本型别在栈中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1。引用2。返回的应该是对象经过处理之后,但是这个过程中,有没有创建副本,我也不太清楚。这方面C++就十分清楚。3。应该是,heap吧。Java里边的对象都是new出来的。动态分配内存。 要是有这样一段代码:public String change1(String str){...//处理str的代码段return str;}void main(String[] args){String name="Liming";String name1=change1(name);}既然对象都是传递引用,那么在函数当中对参数name的改变,会改变调用前的值么?换句话说,name在通过change1(name)之后,它的值发生变化了么? 不会name 的值没有变化系统 创建了一个新的 String 并返回给了 name1 这的新 String 的引用 但java不是传递引用吗?为什么在返回时又要创建一个新的对象返回呢? 传递引用 并不矛盾name 的引用确实被传给了 change1(name)要不然 change1(name) 怎么知道 name 是什么呢但是 String 是一个很特殊的 对象一旦被创建了 就无法被更改只能重新创建一个 StringJava 中也只有 String 是特殊的 对于 其他类 不会的只有 String 对象是不可变的 取字符串固定位数问题 求助,练习题求解 大量静态常量or变量,什么访问方式效率会高 取得字符串 急!!the method getTextContent() is undefined for the type Element 惨无人道笔试题 下面的代码有什么性能问题?面试题 socket 编程中的一个问题 我是否可以在APPLET中加菜单 有谁用过IBM的visual for java, 没人帮忙吗????线程啊!!!! 【跪求 java“窗口永远固定”&“系统剪贴板使用”的方法!】
2。返回的应该是对象经过处理之后,但是这个过程中,有没有创建副本,我也不太清楚。这方面C++就十分清楚。
3。应该是,heap吧。Java里边的对象都是new出来的。动态分配内存。
public String change1(String str){
...//处理str的代码段
return str;
}
void main(String[] args){
String name="Liming";
String name1=change1(name);
}
既然对象都是传递引用,那么在函数当中对参数name的改变,会改变调用前的值么?
换句话说,name在通过change1(name)之后,它的值发生变化了么?
name 的值没有变化
系统 创建了一个新的 String 并返回给了 name1 这的新 String 的引用
为什么在返回时又要创建一个新的对象返回呢?
name 的引用确实被传给了 change1(name)
要不然 change1(name) 怎么知道 name 是什么呢但是 String 是一个很特殊的 对象
一旦被创建了 就无法被更改
只能重新创建一个 String
Java 中也只有 String 是特殊的
只有 String 对象是不可变的