如何对Java中的基元进行等效的传递
这个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);
} }将输出:
玩具编号5 在协议6之后玩具号码 主要玩具编号5
在C ++中,我可以通过toyNumber引用传递变量以避免阴影,即创建同一个变量的副本,如下所示:
void main(){
int toyNumber = 5;
play(toyNumber);
cout << "Toy number in main " << toyNumber << endl; }void play(int &toyNumber){
cout << "Toy number in play " << toyNumber << endl;
toyNumber++;
cout << "Toy number in play after increement " << toyNumber << endl; }并且C ++输出将是这样的:
玩具编号5 在协议6之后玩具号码 主要玩具编号6
我的问题是 - 考虑到Java是通过值传递而不是通过引用传递,Java中的等效代码与C ++代码获得相同的输出是什么?
慕婉清6462132
慕容3067478
随时随地看视频慕课网APP
相关分类