मैं इस धारणा के तहत था कि निजी गैर स्थैतिक चर केवल उस ऑब्जेक्ट पर कॉल किए गए तरीकों से पहुंचा जा सकता है, जिसमें वेरिएबल्स रहते हैं, लेकिन ऐसा नहीं है। क्या कोई निम्नलिखित तर्कों को समझा सकता है कि निम्नलिखित क्यों संकलित और चलाते हैं?निजी वैरिएबल तक पहुंचने वाली जावा स्थैतिक विधियां
public class Sandbox {
private String _privateString = "unmodified";
public static void setPrivateString(String str, Sandbox s) {
s._privateString = str;
}
public String toString()
{
return _privateString;
}
public static void main(String[] args) {
Sandbox s = new Sandbox();
setPrivateString("modified", s);
System.out.println(s);
}
}
आउटपुट:
modified
संपादित करें: एक ही सी # में सच है।
आप '_privateString' को सीधे 'मुख्य()' से उसी वर्ग में संशोधित कर सकते थे। –