इस कोड पर विचार करें:एनोटेशन सदस्यों के रूप में इंटरफेस की अनुमति क्यों नहीं है?
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Bar {
Foo foo() default FooImpl.FooConstant;
}
कंपाइलर त्रुटि:
annotation value not of an allowable type
यदि मैं Foo
के साथ Foo
को प्रतिस्थापित करता हूं तो कोड स्वीकार किया जाता है।
इस व्यवहार का कारण क्या है?
मैं पहले वाक्य को पूरा, दूसरा एक समस्या लगती है। मुझे आश्चर्य है कि एनोटेशन में इसकी अनुमति क्यों नहीं है ... – soc
@soc * मैं पहली वाक्य को पूरा करता हूं * नहीं, आप नहीं करते हैं। 'कक्षा Foo> fooType() 'मान्य होगा, 'Foo foo()' नहीं है। –
एक विधि के रूप में फू फू() पर विचार करें (केवल सादगी के लिए) ... क्या हम एक विधि के लिए रिटर्न प्रकार के रूप में इंटरफ़ेस का उल्लेख कर सकते हैं ??? :) – Nik