हाँ, हम एक एब्स्ट्रैक्ट क्लास में पैरामीटराइज़्ड कंस्ट्रक्टर परिभाषित कर सकते हैं।
एब्स्ट्रैक्ट क्लास में पैरामीटराइज़्ड कंस्ट्रक्टर परिभाषित करने की शर्तें
- यह सुनिश्चित करना होगा कि एब्स्ट्रैक्ट क्लास को एक्सटेंड करने वाली क्लास का एक कंस्ट्रक्टर हो और वह सुपरक्लास के पैरामीटराइज़्ड कंस्ट्रक्टर को कॉल कर सके।
- हम super() कॉल का उपयोग करके सबक्लास में सुपरक्लास के पैरामीटराइज़्ड कंस्ट्रक्टर को कॉल कर सकते हैं।
- यदि हम सबक्लास कंस्ट्रक्टर में super() कॉल नहीं रखते हैं, तो कंपाइल-टाइम एरर होगा।
उदाहरण
abstract class AbstractClassTest {
AbstractClassTest(int a) { // पैरामीटराइज़्ड कंस्ट्रक्टर
System.out.println("Parameterized Constructor of an abstract class a=" + a);
}
}
public class Test extends AbstractClassTest {
Test() {
super(20);
System.out.println("Test Class Constructor");
}
public static void main(String[] args) {
Test obj = new Test();
}
}
ऊपर के उदाहरण में, हमें सबक्लास कंस्ट्रक्टर (Test) में super() कॉल रखना होगा, अन्यथा कंपाइल-टाइम एरर होगा।
आउटपुट
Parameterized Constructor of an abstract class a=20 Test Class Constructor