दिलचस्प पोस्ट
पायथन: स्वचालित रूप से इंस्टेंस चर को प्रारंभ करें? जावा कम्पाइलर API का उपयोग करते समय शून्य सूचक अपवाद अधिकांश पोर्ट पर सुनते समय Node.js EACCES त्रुटि यूटीएफ -8 प्रारूप में फाइल कैसे लिखनी है? CKEditor उदाहरण पहले से मौजूद है आर में एक अन्य समारोह के भीतर ggplot () का उपयोग करें MySQL अधिकतम स्मृति उपयोग कचरा संग्रह कैसे जावास्क्रिप्ट में काम करता है? AngularJS में एनजी-दोहराने वाले गुंजाइश के साथ निदेशात्मक पृथक गुंजाइश MySQL में समान कॉलम मान वाले पंक्तियों को वापस कैसे करें पायथन में यूनिकोड स्ट्रिंग में एक्सएमएल / एचटीएमएल इकाइयां कन्वर्ट करें MySQL: पिछले महीने से सभी पंक्तियां प्राप्त करने के लिए प्रश्न Regexp के साथ X और Y के बीच की संख्याओं को कैसे मिलान करें? क्यों इस कोड में कोई भी रिटर्न शामिल नहीं है? Asp.net mvc में आम मार्गों से पहले विशेष रूटों को क्यों मैप करें?

आप जावा उप-वर्ग में किसी विधि की दृश्यता को कम क्यों नहीं कर सकते?

उप-क्लास में ओवरराइड करने के दौरान जब आप किसी विधि की दृश्यता को कम करते हैं, तो कंपाइलर एक त्रुटि संदेश क्यों देता है?

वेब के समाधान से एकत्रित समाधान "आप जावा उप-वर्ग में किसी विधि की दृश्यता को कम क्यों नहीं कर सकते?"

चूंकि उपवर्ग के हर उदाहरण को अभी भी बेस क्लास का एक वैध उदाहरण होने की आवश्यकता है (देखें Liskov प्रतिस्थापन सिद्धांत )।

अगर उप-वर्ग ने अचानक आधार वर्ग (उदाहरण के लिए एक सार्वजनिक विधि) की एक संपत्ति खो दी है, तो यह अब बेस क्लास के लिए एक वैध विकल्प नहीं होगा।

क्योंकि अगर यह अनुमति दी गई थी, तो निम्न स्थिति संभव होगी:

वर्ग के उप वर्ग अभिभावक से मिलते हैं अभिभावक के पास एक सार्वजनिक विधि है, उप विधि को निजी बनाता है अब निम्न कोड ठीक संकलित करेगा, क्योंकि bar के घोषित प्रकार का मूल है:

 Parent bar = new Sub(); bar.foo(); 

हालांकि यह स्पष्ट नहीं है कि यह कैसे व्यवहार करना चाहिए। एक संभावना यह एक रनटाइम त्रुटि के कारण होने देना होगा। एक और बस इसे अनुमति देने के लिए होगा, जिससे कि माता-पिता वर्ग को कास्टिंग करके केवल एक निजी विधि को बाहर से कॉल करना संभव हो सकेगा। उन विकल्पों में से कोई भी स्वीकार्य नहीं है, इसलिए इसे अनुमति नहीं है।

क्योंकि उपप्रकार उनके सुपरटेम्प के उदाहरण के रूप में उपयोग करने योग्य हैं।