मैं सोच रहा हूं कि एक स्थिर स्थैतिक विधि स्थिर आवृत्ति चर को कैसे संशोधित कर सकती है। मुझे पता है कि स्थैतिक विधियां केवल अन्य स्थिर तरीकों और स्थैतिक चरों तक पहुंच सकती हैं। हालांकि, दूसरी तरफ सच है? क्या गैर स्थैतिक विधियां केवल गैर स्थैतिक चर तक पहुंच सकती हैं? उदाहरण के लिए:गैर स्थैतिक विधियां स्थैतिक चर संशोधित कर सकती हैं
public class SampleClass {
private static int currentCount = 0;
public SampleClass() {
currentCount++;
}
public void increaseCount() {
currentCount++;
}
}
यह कोड संकलित करता है और मैं जानना चाहता हूं कि क्यों स्थिर पहुंच निजीकरण के संदर्भ में।
आप इसे करने की कोशिश की थी? –
@ मार्को हां, यह संकलित करता है। बस सोच रहा है कि क्या लोगों ने इसे कहीं भी दस्तावेज किया है, और क्या मेरा तर्क सही है। –
यह वास्तव में सच नहीं है कि स्थैतिक विधियां इंस्टेंस चर को संशोधित नहीं कर सकती हैं। यह सिर्फ इतना है कि उनके पास कोई "अंतर्निहित" संदर्भ नहीं है। आप 'कक्षा पूर्व {निजी int x लिख सकते हैं; स्थैतिक शून्य एफएन (पूर्व पूर्व) {ex.x = 12; }} '। बीटीडब्लू: म्यूटेबल स्टेटिक्स आम तौर पर एक बुरा विचार है। –