gpt4 book ai didi

java - Java 中将变量传递给参数的魔术

转载 作者:行者123 更新时间:2023-12-01 19:56:49 24 4
gpt4 key购买 nike

public class experiment3 {
private static void mystery(String foo, String bar, String zazz) {
System.out.println(zazz + " and " + foo + " like " + bar);
}
public static void main(String[] args) {
String foo = "peanuts";
String bar = "foo";
mystery(bar, foo, "John");
}
}

有人可以向我解释一下这个结果在输出时是如何形成的吗?

输出将是:

John and foo like peanuts

我理解这个参数。 zazz 的名字始终是 John;

我不明白最后两个参数是怎么回事。成立了?!

PS:请帮助我理解最后两个参数是如何形成的。如果有可能提供示意图以更好地理解 java 编译器的工作方式!

最佳答案

Java 编译器不关心作为方法调用的参数传入的变量名称,因为它与被调用方法的参数名称有关。只有值的位置才重要。

                             "foo"        "peanuts"
| |
v v
mystery( bar , foo , "John")
| | |
v v v
private static void mystery(String foo, String bar, String zazz)

这里变量名称的混合顺序除了造成混淆之外没有任何作用。

zazz + " and " + foo + " like " + bar

变成了

John and foo like peanuts

关于java - Java 中将变量传递给参数的魔术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371196/

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