AFAIK, मेरी कक्षा extends
अभिभावक वर्ग और implements
इंटरफेस। लेकिन मैं ऐसी स्थिति में दौड़ता हूं, जहां मैं उपयोग नहीं कर सकता implements SomeInterface
। यह एक सामान्य प्रकार की घोषणा है। उदाहरण के लिए:
public interface CallsForGrow {...}
public class GrowingArrayList <T implements CallsForGrow> // BAD, won't work!
extends ArrayList<T>
यहाँ का उपयोग implements
करना वाक्यगत रूप से निषिद्ध है। मैंने पहले सोचा, कि <> के अंदर इंटरफेस का उपयोग करना बिल्कुल मना है, लेकिन नहीं। यह संभव है, मुझे केवल extends
इसके बजाय उपयोग करना है implements
। नतीजतन, मैं एक इंटरफ़ेस "विस्तारित" कर रहा हूं। यह एक और उदाहरण काम करता है:
public interface CallsForGrow {...}
public class GrowingArrayList <T extends CallsForGrow> // this works!
extends ArrayList<T>
मेरे लिए यह एक वाक्यात्मक असंगति के रूप में लगता है। लेकिन शायद मैं जावा 6 के कुछ चालाकों को नहीं समझता? क्या अन्य स्थान हैं जहां मुझे इंटरफेस का विस्तार करना चाहिए? क्या इंटरफ़ेस, जिसका मेरा मतलब विस्तार करना है, कुछ विशेष विशेषताएं हैं?