हां, हम Java में बिना एब्सट्रैक्ट मेथड्स के एब्सट्रैक्ट क्लास घोषित कर सकते हैं।
- एक एब्सट्रैक्ट क्लास का अर्थ है इम्प्लीमेंटेशन को छिपाना और यूजर को फंक्शन डेफिनिशन दिखाना।
- एक एब्सट्रैक्ट क्लास में एब्सट्रैक्ट मेथड्स और नॉन-एब्सट्रैक्ट मेथड्स दोनों हो सकते हैं।
- एक एब्सट्रैक्ट क्लास के लिए, हम सीधे ऑब्जेक्ट नहीं बना सकते। लेकिन इनडायरेक्टली हम सबक्लास ऑब्जेक्ट का उपयोग करके ऑब्जेक्ट बना सकते हैं।
- एक जावा एब्सट्रैक्ट क्लास में इंस्टेंस मेथड्स हो सकते हैं जो डिफ़ॉल्ट बिहेवियर इम्प्लीमेंट करते हैं।
- एक एब्सट्रैक्ट क्लास एक समय में केवल एक क्लास या एक एब्सट्रैक्ट क्लास को एक्सटेंड कर सकती है।
- किसी क्लास को एब्सट्रैक्ट घोषित करना बिना एब्सट्रैक्ट मेथड्स के मतलब है कि हम इसे अपने आप इंस्टेंशिएट करने की अनुमति नहीं देते।
- Java में एक एब्सट्रैक्ट क्लास का उपयोग यह दर्शाता है कि हम क्लास का ऑब्जेक्ट सीधे नहीं बना सकते।
उदाहरण
abstract class AbstractDemo { // एब्सट्रैक्ट क्लास
private int i = 0;
public void display() { // नॉन-एब्सट्रैक्ट मेथड
System.out.print("Welcome to Tutorials Point");
}
}
public class InheritedClassDemo extends AbstractDemo {
public static void main(String args[]) {
AbstractDemo demo = new InheritedClassDemo();
demo.display();
}
}
उपरोक्त उदाहरण में, हमने AbstractDemo क्लास में एब्सट्रैक्ट मेथड परिभाषित नहीं किया है। कंपाइलर कोई कंपाइल-टाइम एरर नहीं फेंकता।
आउटपुट
Welcome to Tutorials Point