gpt4 book ai didi

Java 将对象作为方法中的参数传递

转载 作者:行者123 更新时间:2023-12-01 14:28:37 25 4
gpt4 key购买 nike

我已经浏览了一些关于Java始终按值传递的答案,例如在下面的代码中。

public class Sample {

public void show(String s){
s="A";
}

public static void main(String []args) {
String s="B";
new Sample().show(s);
System.out.println(s);
}
}

String s;意味着只是创建了一个引用,正如我的老师所说,没有创建任何对象所以,在上面的代码中s=B ;意味着s保存引用 B即内存中存储它的位置是我对此的理解正确吗?

什么时候做show(s);在方法的定义中show没有新的String创建对象,仅传递引用。

字符串 s在 main 方法中创建的和在 show 方法中创建的都引用内存中的同一个对象,如果两者都引用同一个对象,那么“A”不应该打印到屏幕上吗?

两者都引用同一个对象,为什么“A”没有被打印而“B”被打印?

我是Java的新手,我已经阅读了之前关于该问题的一些答案,并且带有两个指向同一对象的引用箭头的图表的答案让我更加困惑我可能误解了答案,所以请不要关闭我的问题,因为它已经重复了,我需要一些帮助。

最佳答案

它是按引用传递的,但引用本身是按值传递的,并且在 show 中您可以覆盖该引用。这就是为什么你应该教授指针:/

关于Java 将对象作为方法中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com