सार वर्ग
जिस वर्ग में 0 या अधिक अमूर्त विधियाँ होती हैं, उसे अमूर्त वर्ग कहा जाता है। यदि इसमें कम से कम एक सार विधि है, तो इसे सार घोषित किया जाना चाहिए।
यदि आप एक अमूर्त वर्ग में ठोस पद्धति का उपयोग करना चाहते हैं, तो आपको कक्षा को इनहेरिट करने की आवश्यकता है, अमूर्त विधियों (यदि कोई हो) को कार्यान्वयन प्रदान करें और फिर, आप उपवर्ग वस्तु का उपयोग करके आवश्यक विधियों को लागू कर सकते हैं।
उदाहरण
निम्नलिखित जावा उदाहरण में, सार वर्ग MyClass में नाम प्रदर्शन के साथ एक ठोस विधि है।
एक अन्य वर्ग (AbstractClassExample) से हम क्लास MyClass को इनहेरिट कर रहे हैं और सबक्लास ऑब्जेक्ट का उपयोग करके इसकी ठोस विधि डिस्प्ले को लागू कर रहे हैं।
abstract class MyClass { public void display() { System.out.println("This is a method of abstract class"); } } public class AbstractClassExample extends MyClass { public static void main(String args[]) { new AbstractClassExample().display(); } }
आउटपुट
This is a method of abstract class
फाइनल क्लास
यदि आप एक अंतिम वर्ग घोषित करते हैं जिसे आप विस्तारित नहीं कर सकते हैं यदि आप अंतिम वर्ग का विस्तार करने का प्रयास करते हैं, तो एक संकलन समय त्रुटि उत्पन्न होगी जो कहती है कि "अंतिम सुपरक्लास से विरासत में नहीं मिल सकता"
उदाहरण
निम्नलिखित जावा प्रोग्राम में, हमारे पास SuperClass . नाम के साथ एक अंतिम क्लास है और हम इसे किसी अन्य वर्ग (सबक्लास) से अंतर्निहित करने का प्रयास कर रहे हैं।
final class SuperClass { public void display() { System.out.println("This is a method of the superclass"); } }
संकलन समय त्रुटि
संकलन करने पर, यह प्रोग्राम एक संकलन त्रुटि उत्पन्न करता है जैसा कि नीचे दिखाया गया है -
SubClass.java:7: error: cannot inherit from final SuperClass public class SubClass extends SuperClass{ ^ 1 error
सार और अंतिम दोनों
यदि आप एक वर्ग सार घोषित करते हैं, तो इसका उपयोग करने के लिए, आपको इसे विस्तारित करना होगा और यदि आप कक्षा फाइनल घोषित करते हैं तो आप इसे विस्तारित नहीं कर सकते हैं, क्योंकि दोनों एक दूसरे के साथ विरोधाभास करते हैं, यदि आप ऐसा करते हैं तो आप एक वर्ग को सार और अंतिम दोनों घोषित नहीं कर सकते हैं। उत्पन्न होगा।
उदाहरण
public final abstract class Example { public void sample() { } }
संकलन समय त्रुटि
Example.java:1: error: illegal combination of modifiers: abstract and final public final abstract class Example { ^ 1 error