नहीं , हम किसी शीर्ष-स्तरीय वर्ग को निजी या संरक्षित . के रूप में घोषित नहीं कर सकते हैं . यह या तो सार्वजनिक . हो सकता है या डिफ़ॉल्ट ( कोई संशोधक नहीं)। यदि इसमें संशोधक नहीं है, तो इसे डिफ़ॉल्ट एक्सेस माना जाता है।
सिंटैक्स
// A top level class public class TopLevelClassTest { // Class body }
- यदि कोई शीर्ष-स्तरीय वर्ग निजी . के रूप में घोषित किया गया है संकलक शिकायत करेगा कि यहां संशोधक निजी की अनुमति नहीं है। इसका मतलब है कि एक शीर्ष-स्तरीय वर्ग निजी नहीं हो सकता , इसे संरक्षित . पर लागू किया जा सकता है एक्सेस स्पेसिफायर भी।
- संरक्षित इसका मतलब है कि सदस्य को किसी भी वर्ग द्वारा समान पैकेज में और उपवर्गों द्वारा एक्सेस किया जा सकता है भले ही वे दूसरे पैकेज . में हों ।
- द शीर्ष-स्तर कक्षाओं में केवल सार्वजनिक, सार . हो सकता है और अंतिम संशोधक, और किसी भी वर्ग संशोधक को परिभाषित नहीं करना भी संभव है। इसे डिफ़ॉल्ट/पैकेज . कहा जाता है अभिगम्यता।
- हम आंतरिक कक्षाएं घोषित कर सकते हैं निजी . के रूप में या संरक्षित , लेकिन बाहरी . में इसकी अनुमति नहीं है कक्षाएं ।
- एक से अधिक शीर्ष-स्तरीय वर्ग जावा स्रोत फ़ाइल में परिभाषित किया जा सकता है, लेकिन अधिकतम एक सार्वजनिक शीर्ष-स्तरीय वर्ग . हो सकता है घोषणा। फ़ाइल का नाम सार्वजनिक वर्ग के नाम से मेल खाना चाहिए।
कक्षा को सुरक्षित घोषित करें
उदाहरण
protected class ProtectedClassTest { int i = 10; void show() { System.out.println("Declare top-level class as protected"); } } public class Test { public static void main(String args[]) { ProtectedClassTest pc = new ProtectedClassTest(); System.out.println(pc.i); pc.show(); System.out.println("Main class declaration as public"); } }
उपरोक्त उदाहरण में, हम कक्षा को संरक्षित . के रूप में घोषित कर सकते हैं , यह एक त्रुटि देगा कहता है कि संशोधक संरक्षित यहां अनुमति नहीं है . तो उपरोक्त कोड निष्पादित नहीं होता है।
आउटपुट
modifier protected not allowed here
कक्षा को निजी घोषित करें
उदाहरण
private class PrivateClassTest { int x = 20; void show() { System.out.println("Declare top-level class as private"); } } public class Test { public static void main(String args[]) { PrivateClassTest pc = new PrivateClassTest(); System.out.println(pc.x); pc.show(); System.out.println("Main class declaration as public"); } }
उपरोक्त उदाहरण में, हम कक्षा को निजी . घोषित कर सकते हैं , यह एक त्रुटि देगा कहता है कि यहां निजी संशोधक की अनुमति नहीं है . तो उपरोक्त कोड निष्पादित नहीं होता है।
आउटपुट
modifier private not allowed here