मेरा मानना है कि यह जावा भाषा में ही कमी है और एक एनोटेशन में एक विधि निर्दिष्ट करने के लिए बकवास है क्योंकि एनोटेशन के माध्यम से बहिष्कृत किया गया है और कार्यान्वयन वर्ग में विधि को बहिष्कृत नहीं किया गया है।
यह बेहतर होगा अगर विधि के @ बहिष्कृत-नास विरासत में मिला हो। दुर्भाग्य से, ऐसा लगता है कि जावा इसका समर्थन नहीं करता है।
विचार करें कि आईडीई जैसे टूलींगिंग इस स्थिति का इलाज करती है: यदि एक चर के प्रकार को इंटरफ़ेस घोषित किया जाता है, तो @ डिप्रेटेड विधियों को स्ट्राइक के माध्यम से प्रस्तुत किया जा सकता है। लेकिन यदि एक चर के प्रकार को कार्यान्वयन वर्ग घोषित किया गया है और कक्षा हस्ताक्षर में @ डेप्रेटेड शामिल नहीं है, तो विधि को स्ट्राइक के माध्यम से प्रस्तुत किया जाएगा।
मौलिक सवाल यह है कि: एक इंटरफ़ेस में बहिष्कृत करने के तरीके के लिए क्या मतलब है लेकिन एक कार्यान्वयन वर्ग (या एक विस्तारित इंटरफ़ेस में) में नहीं? कक्षा पदानुक्रम में इंटरफ़ेस के नीचे सब कुछ के लिए विधि को बहिष्कृत करने का एकमात्र उचित इरादा है। लेकिन भाषा उस व्यवहार का समर्थन नहीं करती है।
स्रोत
2009-08-12 22:25:23
फिर भी आप इंटरफ़ेस में -ऑनली-विधि को भी कम क्यों करेंगे? बस अपने रिलीज डॉक्स में डाल दें कि "इंटरफ़ेस 'जो' का उपयोग करने के लिए अनुशंसित नहीं किया जाता है।" या कुछ और। – Zack
इंटरफ़ेस और कक्षा के लिए अन्य विधियां हैं। भ्रम के लिए खेद हैक। –