एक्सेस संशोधक
डिफ़ॉल्ट रूप से, जावा में एक वर्ग के सभी
फ़ील्ड और
तरीके निजी होते हैं। इसका मतलब यह है कि कोई भी उन्हें एक्सेस नहीं कर सकता है, जिसका अर्थ है कि इस वर्ग की वस्तुओं के बाहर कोई भी विधि इस वर्ग की वस्तुओं के क्षेत्रों और विधियों का उपयोग नहीं कर सकती है।
पहुँच संशोधक सार्वजनिक
के साथ फ़ील्ड और विधियों को सार्वजनिक किया जा सकता है। एक निजी संशोधक भी है जो क्षेत्र को निजी बनाता है। यह वैकल्पिक है क्योंकि सभी फ़ील्ड और विधियाँ डिफ़ॉल्ट रूप से निजी हैं। यहां
सार्वजनिक
और
निजी
संशोधक का उपयोग करने का एक उदाहरण दिया गया है।
कक्षा की किताब
{
सार्वजनिक स्ट्रिंगनाम;
स्ट्रिंग लेखक का नाम;
निजी अंतर आयु आवश्यकता;
स्ट्रिंगटेक्स्ट;
सार्वजनिक इंट पेजकाउंट;
int getTextLength ()
{
वापसी पाठ की लंबाई ();
}
सार्वजनिक int getAverageLetterCount ()
{
वापसी getTextLength () / पेजकाउंट;
}
निजी int getDifficuiltyLevel ()
{
वापसी 5 * उम्र की आवश्यकता * पाठ। लंबाई ();
}
}
<कोड>पुस्तक कोड>वर्ग के इस संस्करण में, फ़ील्ड्स <कोड>नामकोड> और <कोड>पेजकाउंटकोड> को पढ़ने और अन्य वस्तुओं में संशोधन के लिए सार्वजनिक किया गया है। getAverageLetterCount()
विधि अन्य वर्गों की वस्तुओं से बुलाए जाने के लिए भी उपलब्ध है। अन्य सभी क्षेत्र और विधियाँ निजी रहती हैं और केवल इस वर्ग के तरीकों में उपलब्ध हैं। पब्लिक मेथड getAverageLetterCount()
में हम प्राइवेट मेथड getTextLength()
को कॉल कर सकते हैं क्योंकि getAverageLetterCount()
क्लास से ही संबंधित है। लेकिन यह दूसरी क्लास के तरीके से काम नहीं करेगा।
लेकिन फिर खेतों को निजी क्यों बनाया जाए? जावा कोड में, आप अधिकतर केवल निजी फ़ील्ड देखेंगे। तथ्य यह है कि यदि निजी क्षेत्रों तक पहुंच वस्तु के सार्वजनिक तरीकों के माध्यम से की जाती है, तो निजी क्षेत्रों तक ऐसी किसी भी पहुंच के साथ अतिरिक्त क्रियाएं और जांच करना संभव होगा। इसके बारे में अधिक जानकारी एनकैप्सुलेशन के पाठ में मिलेगी।