एक सिंगल जावा प्रोग्राम में दो या अधिक क्लासेस हो सकती हैं, यह जावा में दो तरीकों से संभव है।
सिंगल 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