मुझे पता है कि एक इंटरफ़ेस में एक कंस्ट्रक्टर को परिभाषित करना संभव नहीं है। लेकिन मैं सोच रहा हूं कि क्यों, क्योंकि मुझे लगता है कि यह बहुत उपयोगी हो सकता है।
तो आप यह सुनिश्चित कर सकते हैं कि इस इंटरफ़ेस के प्रत्येक कार्यान्वयन के लिए एक वर्ग के कुछ क्षेत्रों को परिभाषित किया गया है।
उदाहरण के लिए निम्न संदेश वर्ग पर विचार करें:
public class MyMessage {
public MyMessage(String receiver) {
this.receiver = receiver;
}
private String receiver;
public void send() {
//some implementation for sending the mssage to the receiver
}
}
यदि इस वर्ग के लिए एक इंटरफ़ेस परिभाषित करें ताकि मेरे पास और अधिक कक्षाएं हों जो संदेश इंटरफ़ेस को लागू करें, मैं केवल भेजने की विधि को परिभाषित कर सकता हूं न कि निर्माता को। तो मैं यह कैसे सुनिश्चित कर सकता हूं कि इस वर्ग के प्रत्येक कार्यान्वयन में वास्तव में एक रिसीवर सेट है? अगर मैं इस पद्धति का उपयोग करता हूं तो मुझे setReceiver(String receiver)
यकीन नहीं हो सकता है कि यह विधि वास्तव में कहलाती है। कंस्ट्रक्टर में मैं इसे सुनिश्चित कर सकता था।