यह जावा कोड:
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 में खिलौना नंबर
मेरा प्रश्न है - जावा में समान कोड C ++ कोड के समान आउटपुट प्राप्त करने के लिए है, यह देखते हुए कि जावा संदर्भ के लिए पास होने के बजाय मूल्य से पास है ?
toyNumber
में घोषित चर main
विधि में गुंजाइश नहीं है play
। C ++ और Java में शैडो करना केवल तब होता है जब स्कोप का घोंसला होता है। En.wikipedia.org/wiki/Variable_shadowing देखें ।