Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

क्या हम जावा में शीर्ष स्तर की कक्षा को संरक्षित या निजी घोषित कर सकते हैं?

नहीं , हम किसी शीर्ष-स्तरीय वर्ग को निजी या संरक्षित . के रूप में घोषित नहीं कर सकते हैं . यह या तो सार्वजनिक . हो सकता है या डिफ़ॉल्ट ( कोई संशोधक नहीं)। यदि इसमें संशोधक नहीं है, तो इसे डिफ़ॉल्ट एक्सेस माना जाता है।

सिंटैक्स

// 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

  1. क्या एनम जावा में किसी भी वर्ग का विस्तार कर सकता है?

    जावा में एन्यूमरेशन (एनम) एक डेटाटाइप है जो स्थिर मूल्यों का एक सेट संग्रहीत करता है। आप निश्चित मानों जैसे सप्ताह में दिन, वर्ष में महीने आदि को संग्रहीत करने के लिए गणनाओं का उपयोग कर सकते हैं। आप एनम कीवर्ड का उपयोग करके एक एन्यूमरेशन को परिभाषित कर सकते हैं, उसके बाद एन्यूमरेशन के नाम के रूप मे

  1. क्या हम जावा में संरक्षित विधि को ओवरराइड कर सकते हैं?

    हां , सुपरक्लास की संरक्षित विधि को ओवरराइड . किया जा सकता है एक उपवर्ग द्वारा। यदि सुपरक्लास विधि सुरक्षित है, तो उपवर्ग ओवरराइड विधि में संरक्षित . हो सकता है या सार्वजनिक (लेकिन नहीं डिफ़ॉल्ट या निजी ) जिसका अर्थ है उपवर्ग ओवरराइड विधि में कमजोर पहुंच विनिर्देशक नहीं हो सकता है । उदाहरण class

  1. हम जावा में JTextField में पैडिंग कैसे जोड़ सकते हैं?

    A JTextField JTextComponent . का उपवर्ग है वर्ग और यह सबसे महत्वपूर्ण घटकों में से एक है जो उपयोगकर्ता को एकल-पंक्ति प्रारूप में टेक्स्ट मान इनपुट करने की अनुमति देता है . एक JTextField वर्ग एक एक्शन लिस्टनर generate उत्पन्न करेगा इंटरफ़ेस जब हम इसके अंदर कुछ इनपुट दर्ज करने का प्रयास करते हैं। J