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

Java में कितने प्रकार के नेस्टेड क्लासेस परिभाषित हैं?

Java में, एक क्लास के अंदर दूसरी क्लास को परिभाषित करना संभव है, ऐसी क्लासेज को नेस्टेड क्लासेस कहा जाता है। हम इनर क्लासेस के लिए private, public, protected या डिफ़ॉल्ट एक्सेस मॉडिफायर्स और आउटर क्लास के लिए डिफ़ॉल्ट या पब्लिक एक्सेस मॉडिफायर्स उपयोग कर सकते हैं।

Java में दो प्रकार की नेस्टेड क्लासेस परिभाषित हैं।

  • स्टैटिक नेस्टेड क्लास
  • नॉन-स्टैटिक नेस्टेड क्लास

स्टैटिक नेस्टेड क्लास

  • हम इनर क्लास को स्टैटिक के रूप में परिभाषित कर सकते हैं, ऐसे प्रकार की क्लासेज को स्टैटिक नेस्टेड क्लास कहा जाता है।
  • नेस्टेड क्लास को static कीवर्ड के साथ परिभाषित किया जाता है, इसलिए इस प्रकार की नेस्टेड क्लासेज आउटर क्लास के इंस्टेंस के साथ कोई संबंध साझा नहीं करतीं।
  • एक स्टैटिक नेस्टेड क्लास हमारी क्लास के स्टैटिक मेंबर्स को एक्सेस कर सकती है।

उदाहरण

class Car { 
    static class Wheel { 
        public void rotate() { 
            System.out.println("The wheel is rotating"); 
        } 
    } 
} 

public class Test { 
    public static void main(String args[]) { 
        Car.Wheel wheel = new Car.Wheel(); 
        wheel.rotate(); 
    } 
}

आउटपुट

The wheel is rotating

नॉन-स्टैटिक नेस्टेड क्लास

  • एक नॉन-स्टैटिक नेस्टेड क्लास को अप्रत्यक्ष रूप से Java में इनर क्लास के रूप में जाना जाता है।
  • इनर क्लास आउटर क्लास के ऑब्जेक्ट के साथ जुड़ी होती है। इसलिए इनर क्लास को आउटर क्लास के अन्य वेरिएबल्स और मेथड्स की तरह माना जाता है।
  • इनर क्लास आउटर क्लास ऑब्जेक्ट या इंस्टेंस के साथ जुड़ी होती है, इसलिए हम इनर क्लास के अंदर स्टैटिक वेरिएबल्स घोषित नहीं कर सकते।

उदाहरण

public class OuterClassTest { 
    private int a = 10; 
    public void innerClassInstance() { 
        InnerClassTest inner = new InnerClassTest(); 
        inner.outerObject(); 
    } 
    public static void main(String args[]) { 
        OuterClassTest outer = new OuterClassTest(); 
        outer.innerClassInstance(); 
    } 
    class InnerClassTest { 
        public void outerObject() { 
            System.out.println("Outer Value of a is: " + a); 
        } 
    } 
}

आउटपुट

Outer Value of a is: 10

अतिरिक्त प्रकार: Java में लोकल इनर क्लास (मेथड के अंदर) और अनाम इनर क्लास (नाम रहित, इंटरफेस/क्लास इम्प्लीमेंट करते हुए) भी होते हैं।

  1. जावा 9 में JShell में विभिन्न /edit कमांड्स जावा 9 में JShell में विभिन्न /edit कमांड्स

    JShell जावा 9 में पेश किया गया एक कमांड-लाइन टूल है जो main() मेथड के बिना डिक्लेरेशन्स, स्टेटमेंट्स, और एक्सप्रेशन्स का मूल्यांकन करता है। JShell एक टेक्स्ट एडिटर सेट कर सकता है जिसे JShell Edit Pad कहा जाता है, जो कोड को बहुत आसानी से संशोधित करने की अनुमति देता है, और इसे /edit कमांड का उपयोग करक

  1. - Java में क्लासेस के विभिन्न प्रकार क्या हैं?

    Java में क्लासेस के प्रकार कंक्रीट क्लास कोई भी सामान्य क्लास जिसमें कोई एब्सट्रैक्ट मेथड न हो या एक क्लास जिसमें अपने पैरेंट क्लास या इंटरफेस के सभी मेथड्स और अपने मेथड्स का इम्प्लीमेंटेशन हो, कंक्रीट क्लास है। उदाहरण public class Concrete { // कंक्रीट क्लास static int product(int a, int b)

  1. - Java प्रोग्राम निष्पादित करने में शामिल विभिन्न चरण क्या हैं?

    Java प्रोग्राम निष्पादन 5 प्रमुख चरणों का पालन करता है: Edit (संपादन) - यहां प्रोग्रामर एक साधारण एडिटर या नोटपैड एप्लिकेशन का उपयोग करके Java प्रोग्राम लिखता है और अंत में इसे .java एक्सटेंशन देता है। Compile (कंपाइल) - इस चरण में, प्रोग्रामर javac कमांड देता है और .java फाइल्स को बाइटकोड में पर