这个Java代码:
public class XYZ {
public static void main(){
int toyNumber = 5;
XYZ temp = new XYZ();
temp.play(toyNumber);
System.out.println("Toy number in main " + toyNumber);
}
void play(int toyNumber){
System.out.println("Toy number in play " + toyNumber);
toyNumber++;
System.out.println("Toy number in play after increement " + toyNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
将输出:
Toy number in play 5 Toy number in play after increement 6 Toy number in main 5
在C++中,我可以通过toyNumber引用传递变量以避免阴影,即创建同一个变量的副本,如下所示:
void main(){
int toyNumber = 5;
play(toyNumber);
cout << "Toy …Run Code Online (Sandbox Code Playgroud) 我阅读了很多文章,并且都说Java是值得传递的.但我仍然没有解释传递值和参考值之间的区别.我写了一个示例程序,它像这样执行..
public class PassByValue {
private int a;
private int b;
public PassByValue(int a, int b) {
this.a = a;
this.b = b;
}
public static int mul(int a, int b) {
int z = a * b;
System.out.println("The Value of Z inside mul: " + z);
return z;
}
public static void main(String args[]) {
int z = 100;
int x = 40;
int y = 20;
mul(x,y);
PassByValue pass = new PassByValue(x,y);
mul(pass.a,pass.b);
System.out.println("The Value of Z" + …Run Code Online (Sandbox Code Playgroud)