शुरुआती जावा सवाल के बाद परिवर्तन नहीं करता है, लेकिन मैं नहीं समझ सकता कैसे फोन-दर-मूल्य (या संदर्भ) नीचे दिए गए उदाहरण में काम कर रहा है -जावा - वस्तु राज्य विधि कॉल
कैसे आ स्ट्रिंग मान संशोधित नहीं है मेरे कस्टम स्ट्रिंग ऑब्जेक्ट के दौरान यह विधि से बाहर निकलने के बाद। ? दिनांक की तरह अन्य वर्गों के साथ एक ही ..
public class StringMadness {
public static void main(String[] args) {
String s = "Native String";
CustomStringObject cs = new CustomStringObject();
System.out.println("Custom String Before: " + cs.str);
hello(cs);
System.out.println("Custom String After: " + cs.str);
System.out.println("Native String Before: " + s);
hello(s);
System.out.println("Native String After: " + s);
}
private static void hello(String t) {
t = "hello " + t;
}
private static void hello(CustomStringObject o) {
o.str = "hello " + o.str;
}
}
class CustomStringObject {
String str = "Custom String";
}
आह .. मैं इसे देखता हूं। धन्यवाद .... मूल रूप से, मेरा 'हैलो (कस्टमस्ट्रिंग ऑब्जेक्ट ओ) 'ओ = नया कस्टमस्ट्रिंग ऑब्जेक्ट()' के रूप में एक नया उदाहरण तत्काल था और मैंने हैलो विधि के बाहर देखा, इंस्टेनेशन का कोई प्रभाव नहीं पड़ा। इस सवाल को ट्रिगर किया गया है। –
@ जोन नाइस स्पष्टीकरण। फू उदाहरण मदद करता है। +1 –
यदि कॉलर शून्य संदर्भ पास करता है तो मैंने देखा है कि कॉलली संशोधन कॉलर को प्रतिबिंबित नहीं करता है। ऐसा क्यों है? –