हाल ही में, मैंने जावा में priavte फ़ील्ड तक पहुंचने का एक अप्रत्याशित व्यवहार देखा। निम्न उदाहरण है, जो व्यवहार को दिखाता है पर विचार करें:इसे किसी अन्य ऑब्जेक्ट के निजी क्षेत्र तक पहुंचने की अनुमति क्यों है?
public class A {
private int i; <-- private field!
public A(int i) {
this.i = i;
}
public void foo(A a) {
System.out.println(this.i); // 1. Accessing the own private field: good
System.out.println(a.i); // 2. Accessing private field of another object!
}
public static void main(String[] args) {
(new A(5)).foo(new A(2));
}
}
मैं क्यों foo
विधि (2 मामले) के भीतर वर्ग A
का एक और वस्तु के निजी क्षेत्र का उपयोग करने की अनुमति दी है?
कृपया कोड, इनपुट/आउटपुट और HTML या XML जैसे संरचित दस्तावेज़ों के लिए कोड स्वरूपण का उपयोग करें। ऐसा करने के लिए, नमूना का चयन करें और संदेश पोस्टिंग/संपादन फ़ॉर्म के ऊपर '{}' बटन पर क्लिक करें। –