इस example में, टिप्पणी का प्रकार (@interface
) नीचे:इंटरफ़ेस प्रकार पर एनोटेशन का उपयोग करने का क्या फायदा है?
@interface ClassPreamble {
String author();
String date();
int currentRevision() default 1;
String lastModified() default "N/A";
String lastModifiedBy() default "N/A";
// Note use of array
String[] reviewers();
}
interface
प्रकार का संकलन किया जाता है:
interface annotationtype.ClassPreamble extends java.lang.annotation.Annotation{
public abstract java.lang.String author();
public abstract java.lang.String date();
public abstract int currentRevision();
public abstract java.lang.String lastModified();
public abstract java.lang.String lastModifiedBy();
public abstract java.lang.String[] reviewers();
}
तो, टिप्पणी का प्रकार interface
प्रकार का संकलन किया जा रहा है, क्रम से पहले।
जावा में, interface
प्रकार पर एनोटेशन प्रकार (@interface
) का उपयोग करने का क्या फायदा है?
अनुवाद के संबंध में, एनम प्रकार 'अंतिम श्रेणी' के लिए संकलित करता है। लेकिन enum प्रकार वर्ग की तुलना में एक अलग उद्देश्य के लिए है। ऑब्जेक्ट मॉडलिंग के लिए 'क्लास' का उपयोग किया जाता है। क्या यह अच्छा सादृश्य है? – overexchange
एनम प्रकार एक उदाहरण हैं जहां एक पैटर्न भाषा में खींचा गया था। यदि जावा में एनम कक्षाएं नहीं थीं, तो आप अभी भी एक पैटर्न पर कोडिंग करके सटीक प्रभाव प्राप्त कर सकते हैं - बस अधिक क्रियाशक्ति के साथ। वर्गों के लिए संकलित यह enums सुविधा का दुर्घटना नहीं है, क्योंकि "enum पैटर्न" मूल रूप से कक्षाओं द्वारा व्यक्त किया जाता है। टिप्पणियां मेरे लिए काफी अलग लगती हैं। –
आपके बिंदु के लिए: "** इंटरफेस जो वस्तुओं को लागू करने की अनुमति देता है **"। क्या मैं फिर से बदल सकता हूं, "इंटरफेस वस्तुओं को परिधीय (गैर-कोर) व्यवहार लागू करने की अनुमति देता है"? संदर्भ से लिया गया ** आइटम -18: इंटरफेस मिश्रणों को परिभाषित करने के लिए आदर्श हैं **। उदाहरण के लिए: 'इंटरफ़ेस तुलनात्मक' की तुलना करें() 'व्यवहार। – overexchange