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

क्या हम एक सिंगल Java प्रोग्राम में एक से अधिक क्लास डिक्लेयर कर सकते हैं?


एक सिंगल जावा प्रोग्राम में दो या अधिक क्लासेस हो सकती हैं, यह जावा में दो तरीकों से संभव है।

सिंगल Java प्रोग्राम में मल्टीपल क्लासेस इम्प्लीमेंट करने के दो तरीके

  • नेस्टेड क्लासेस
  • मल्टीपल नॉन-नेस्टेड क्लासेस

मल्टीपल नॉन-नेस्टेड क्लासेस के साथ कंपाइलर कैसे व्यवहार करता है

नीचे दिए गए उदाहरण में, जावा प्रोग्राम में दो क्लासेस हैं, एक क्लास का नाम Computer है और दूसरी Laptop है। दोनों क्लासेस के अपने कंस्ट्रक्टर्स और एक मेथड है। मुख्य मेथड में, हम दोनों क्लासेस के ऑब्जेक्ट बना सकते हैं और उनके मेथड्स को कॉल कर सकते हैं।

उदाहरण

public class Computer {
    Computer() {
        System.out.println("Constructor of Computer class.");
    }
    void computer_method() {
        System.out.println("Power gone! Shut down your PC soon...");
    }
    public static void main(String[] args) {
        Computer c = new Computer();
        Laptop l = new Laptop();
        c.computer_method();
        l.laptop_method();
    }
}
class Laptop {
    Laptop() {
        System.out.println("Constructor of Laptop class.");
    }
    void laptop_method() {
        System.out.println("99% Battery available.");
    }
}

जब हम उपरोक्त प्रोग्राम को कंपाइल करते हैं, तो दो .class फाइल्स बनेंगी जो Computer.class और Laptop.class हैं। इसका लाभ यह है कि हम अपनी .class फाइल को अन्य प्रोजेक्ट्स में बिना कोड को फिर से कंपाइल किए पुन: उपयोग कर सकते हैं। संक्षेप में, बनाई गई .class फाइलों की संख्या कोड में क्लासेस की संख्या के बराबर होगी। हम जितनी चाहें उतनी क्लासेस बना सकते हैं लेकिन एक सिंगल फाइल में कई क्लासेस लिखना अनुशंसित नहीं है क्योंकि यह कोड को पढ़ना मुश्किल बनाता है, बल्कि हम हर क्लास के लिए एक सिंगल फाइल बना सकते हैं।

आउटपुट

Constructor of Computer class.
Constructor of Laptop class.
Power gone! Shut down your PC soon...
99% Battery available.

नेस्टेड क्लासेस के साथ कंपाइलर कैसे व्यवहार करता है

एक बार मुख्य क्लास कंपाइल हो जाने पर जिसमें कई इनर क्लासेस होती हैं, कंपाइलर प्रत्येक इनर क्लास के लिए अलग .class फाइल्स जनरेट करता है।

उदाहरण

// मुख्य क्लास
public class Main {
    class Test1 { // इनर क्लास Test1
    }
    class Test2 { // इनर क्लास Test2
    }
    public static void main(String [] args) {
        new Object() { // एनोनिमस इनर क्लास 1
        };
        new Object() { // एनोनिमस इनर क्लास 2
        };
        System.out.println("Welcome to Tutorials Point");
    }
}

उपरोक्त प्रोग्राम में, हमारे पास एक Main क्लास है जिसमें चार इनर क्लासेस Test1, Test2, एनोनिमस इनर क्लास 1 और एनोनिमस इनर क्लास 2 हैं। एक बार जब हम इस क्लास को कंपाइल करते हैं, तो यह निम्नलिखित क्लास फाइल्स जनरेट करेगा।

Main.class

Main$Test1.class

Main$Test2.class

Main$1.class

Main$2.class

आउटपुट

Welcome to Tutorials Point

  1. क्या आप एक से अधिक YouTube चैनल रख सकते हैं? क्या आप एक से अधिक YouTube चैनल रख सकते हैं?

    YouTube आपको एक ईमेल पते का उपयोग करके कई चैनल बनाने की अनुमति देता है। यह आपके मौजूदा खाते में लॉग इन करने और नया चैनल सेट करने के लिए कुछ बटन क्लिक करने जितना आसान है। यदि आप चाहें, तो आप एक ब्रांड खाता भी बना सकते हैं जो आपके व्यक्तिगत खाते से जुड़ा होता है, जिसका उपयोग आप व्यावसायिक या ब्रांडिंग

  1. क्या Java में Enum किसी क्लास को एक्सटेंड कर सकता है? क्या Java में Enum किसी क्लास को एक्सटेंड कर सकता है?

    नहीं, Java में सभी एनम अंतर्निहित रूप से java.lang.Enum को एक्सटेंड करते हैं। चूंकि Java बहु-विरासत का समर्थन नहीं करता, एनम किसी अन्य क्लास को एक्सटेंड नहीं कर सकते।त्रुटि उदाहरणclass Sample { } enum Scooters extends Sample { } // संकलन त्रुटिसंकलन त्रुटिEnumExample.java:5: error: { expected enum

  1. Java में JTextField में पैडिंग कैसे जोड़ें? Java में JTextField में पैडिंग कैसे जोड़ें?

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