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

जावा में प्रोटेक्टेड और डिफॉल्ट एक्सेस स्पेसिफायर के बीच क्या अंतर हैं?

संरक्षित एक्सेस स्पेसिफायर एक ही पैकेज में दिखाई देता है और उपवर्ग में दृश्यमान . भी जबकि डिफ़ॉल्ट एक पैकेज स्तरीय पहुंच निर्दिष्ट है r और यह उसी पैकेज में दिखाई दे सकता है।

संरक्षित पहुंच विनिर्देशक

  • संरक्षित एक ही पैकेज में सार्वजनिक के रूप में कार्य करेगा और पैकेज के बाहर निजी के रूप में कार्य करेगा।
  • संरक्षित केवल उपवर्ग वस्तुओं के संबंध में पैकेज के बाहर भी सार्वजनिक रूप से कार्य करेगा।
  • संरक्षित फ़ील्ड या विधियों का उपयोग कक्षाओं और इंटरफेस के लिए नहीं किया जा सकता है।
  • क्षेत्रों, विधियों और कंस्ट्रक्टरों को संरक्षित . के रूप में घोषित किया गया है एक सुपरक्लास में केवल अन्य पैकेजों में उपवर्गों द्वारा पहुँचा जा सकता है।
  • एक ही पैकेज की कक्षाएं संरक्षित . तक भी पहुंच सकती हैं फ़ील्ड, तरीके और कंस्ट्रक्टर भी, भले ही वे संरक्षित के उपवर्ग न हों। सदस्य वर्ग।

उदाहरण

public class ProtectedTest {
   // variables that are protected
   protected int age = 30;
   protected String name = "Adithya";

   /**
    * This method is declared as protected.
    */
   protected String getInfo() {
      return name +" is "+ age +" years old.";
   }
   public static void main(String[] args) {
      System.out.println(new ProtectedTest().getInfo());
   }
}

आउटपुट

Adithya is 30 years old.


डिफ़ॉल्ट एक्सेस विनिर्देशक

  • किसी वर्ग के किसी भी सदस्य का उल्लेख बिना किसी एक्सेस विनिर्देशक के तब यह माना जाता है कि डिफ़ॉल्ट
  • डी दोष एक ही पैकेज में सार्वजनिक के रूप में कार्य करेगा और पैकेज के बाहर निजी के रूप में कार्य करेगा।
  • डिफ़ॉल्ट किसी भी वर्ग के सदस्य एक ही पैकेज के भीतर किसी भी चीज़ के लिए उपलब्ध हो सकते हैं और किसी भी स्थिति में पैकेज के बाहर उपलब्ध नहीं हो सकते हैं।
  • डिफ़ॉल्ट पहुंच को केवल पैकेज स्तर . तक सीमित करता है , डिफ़ॉल्ट डेटा सदस्यों वाले वर्ग का विस्तार करने के बाद भी हम एक्सेस नहीं कर सकते हैं।

उदाहरण

public class DefaultTest {
   // variables that have no access modifier
   int age = 25;
   String name = "Jai";

   /**
    * This method is declared with default aacees specifier
    */
   String getInfo() {
      return name +" is "+ age +" years old.";
   }
   public static void main(String[] args) {
      System.out.println(new DefaultTest().getInfo());
   }
}

आउटपुट

Jai is 25 years old.

  1. जावा में JTextField और JTextArea के बीच क्या अंतर हैं?

    JTextField . के बीच मुख्य अंतर और JTextArea जावा में यह है कि एक JTextField पाठ की एक पंक्ति . में प्रवेश करने की अनुमति देता है GUI एप्लिकेशन में जबकि JTextArea पाठ की एक से अधिक पंक्तियाँ entering दर्ज करने की अनुमति देता है GUI एप्लिकेशन में। JTextField एक JTextFeld सबसे महत्वपूर्ण घटकों म

  1. जावा में JFrame और JDialog में क्या अंतर हैं?

    जेफ्रेम फ्रेम में जोड़े गए घटकों को इसकी सामग्री के रूप में संदर्भित किया जाता है, इन्हें contentPane द्वारा प्रबंधित किया जाता है . JFrame . में एक घटक जोड़ने के लिए , हमें इसके contentPane . का उपयोग करना चाहिए इसके बजाय। एक JFrame शीर्षक . के साथ एक विंडो है , सीमा , (वैकल्पिक) मेनू बार और उप

  1. Java में GridLayout और GridBagLayout में क्या अंतर हैं?

    एक ग्रिडलेआउट सभी घटकों को एक आयताकार ग्रिड में रखता है और समान आकार के आयतों . में विभाजित किया जाता है और प्रत्येक घटक को एक आयत के अंदर रखा जाता है जबकि GridBagLayout एक लचीला . है लेआउट प्रबंधक जो घटकों को लंबवत और क्षैतिज रूप से . संरेखित करता है यह आवश्यक नहीं है कि घटक समान आकार के हों।