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 के कुछ चालाकों को नहीं समझता? क्या अन्य स्थान हैं जहां मुझे इंटरफेस का विस्तार करना चाहिए? क्या इंटरफ़ेस, जिसका मेरा मतलब विस्तार करना है, कुछ विशेष विशेषताएं हैं?