【发布时间】:2018-10-19 03:33:38
【问题描述】:
这只是一般知识,我很确定这可能是不可能的,但我很想知道。
假设我有一个学生类对象s1,并将它作为myFunc(s1.toString()) 传递给函数。我没有覆盖toString() 函数。当参数到达函数时,我可以仅通过地址引用回原始对象吗?
代码:
public static void main(){
Student s1;
myFunc(s1.toString());
}
public static myFunc(String address){
Student s2;
s2 = //get s1 object from address string
}
【问题讨论】:
-
没有,但是Java一般都是传值,所以你可以直接传
Student对象,从方法中操作,修改应该“坚持”。 -
这是不可能的。你在默认的 toString 中看到的不是地址。
-
@Tim 不,Java 总是按值传递。
-
@TimBiegeleisen java 将引用作为值传递,因此它是按值传递的。
-
@Tim 不会使用地址,也不会使用默认的 toString。
标签: java oop pointers memory reference