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

क्या हम एक जावा प्रोग्राम में एक से अधिक क्लास की घोषणा कर सकते हैं?


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

एक जावा प्रोग्राम में एकाधिक कक्षाओं को लागू करने के दो तरीके

  • नेस्टेड क्लासेस
  • एकाधिक गैर-नेस्टेड कक्षाएं

संकलक एकाधिक गैर-नेस्टेड कक्षाओं के साथ कैसे व्यवहार करता है

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

उदाहरण

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 फ़ाइलें बनाए जाएंगे जो कंप्यूटर.क्लास और लैपटॉप.क्लास हैं। इसका यह फायदा है कि हम अपनी .class फ़ाइल को फिर से कोड संकलित किए बिना अन्य प्रोजेक्ट्स में कहीं भी पुन:उपयोग कर सकते हैं। संक्षेप में, बनाई गई .class फ़ाइलों की संख्या कोड में कक्षाओं की संख्या के बराबर होगी। हम जितनी चाहें उतनी कक्षाएं बना सकते हैं लेकिन एक फ़ाइल में कई कक्षाएं लिखने की अनुशंसा नहीं की जाती है क्योंकि इससे कोड को पढ़ना मुश्किल हो जाता है बल्कि हम प्रत्येक वर्ग के लिए एक फ़ाइल बना सकते हैं।

आउटपुट

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

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

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

उदाहरण

// Main class
public class Main {
   class Test1 { // Inner class Test1
   }
   class Test2 { // Inner class Test2
   }
   public static void main(String [] args) {
      new Object() { // Anonymous inner class 1
      };
      new Object() { // Anonymous inner class 2
      };
      System.out.println("Welcome to Tutorials Point");
   }
}

उपरोक्त कार्यक्रम में, हमारे पास एक मुख्य वर्ग है जिसमें चार आंतरिक वर्ग हैं Test1, Test2, Anonymous inner Class 1 और अनाम आंतरिक कक्षा 2 . एक बार जब हम इस वर्ग को संकलित कर लेते हैं, तो यह निम्न वर्ग की फाइलें उत्पन्न करेगा।

Main.class

Main$Test1.class

Main$Test2.class

मुख्य$1.वर्ग

मुख्य$2.वर्ग

आउटपुट

Welcome to Tutorials Point

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

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

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

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

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

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