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

Java में protected और default एक्सेस स्पेसिफायर्स में क्या अंतर है?


Protected एक्सेस स्पेसिफायर उसी पैकेज के भीतर विजिबल होता है और सबक्लास में भी विजिबल होता है जबकि Default एक पैकेज लेवल एक्सेस स्पेसिफायर है और यह उसी पैकेज में विजिबल हो सकता है।

Protected Access Specifier

  • Protected उसी पैकेज के भीतर पब्लिक की तरह काम करता है और पैकेज के बाहर प्राइवेट की तरह।
  • Protected पैकेज के बाहर केवल सबक्लास ऑब्जेक्ट्स के संबंध में पब्लिक की तरह काम करता है।
  • Protected फील्ड्स या मेथड्स का उपयोग क्लासेस और इंटरफेसेस के लिए नहीं किया जा सकता।
  • protected घोषित फील्ड्स, मेथड्स, और कंस्ट्रक्टर्स को अन्य पैकेजेस में केवल सबक्लासेस द्वारा एक्सेस किया जा सकता है।
  • उसी पैकेज की क्लासेस भी protected फील्ड्स, मेथड्स और कंस्ट्रक्टर्स को एक्सेस कर सकती हैं, भले ही वे protected मेंबर की क्लास की सबक्लास न हों।

उदाहरण

public class ProtectedTest {
    // protected वेरिएबल्स
    protected int age = 30;
    protected String name = "Adithya";
    /**
     * यह मेथड 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.

Default Access Specifier

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

उदाहरण

public class DefaultTest {
    // वेरिएबल्स जिनमें कोई एक्सेस मोडिफायर नहीं है
    int age = 25;
    String name = "Jai";
    /**
     * यह मेथड डिफ़ॉल्ट एक्सेस स्पेसिफायर के साथ घोषित है
     */
    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. Java में JTextField और JTextArea में क्या अंतर है? Java में JTextField और JTextArea में क्या अंतर है?

    Java में JTextField और JTextArea के बीच मुख्य अंतर यह है कि एक JTextField GUI एप्लिकेशन में टेक्स्ट की सिंगल लाइन एंटर करने की अनुमति देता है जबकि JTextArea GUI एप्लिकेशन में टेक्स्ट की मल्टीपल लाइन्स एंटर करने की अनुमति देता है। JTextField एक JTextField सबसे महत्वपूर्ण कंपोनेंट्स में से एक है जो

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

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

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

    एक GridLayout सभी कंपोनेंट्स को एक आयताकार ग्रिड में रखता है और इसे समान आकार के आयतों में विभाजित करता है और प्रत्येक कंपोनेंट को एक आयत के अंदर रखा जाता है जबकि GridBagLayout एक लचीला लेआउट मैनेजर है जो कंपोनेंट्स को वर्टिकली और हॉरिजॉन्टली संरेखित करता है बिना यह आवश्यकता के कि कंपोनेंट्स समान आक