ग्रहण नील के साथ, जावा 1,6ग्रहण यह प्यार करता है, javac यह नफरत करता है, यह एक enum है, एक तरह से, एक अंतरफलक
public interface I {
String getName();
}
/* and in another file */
public enum E implements I {
E1() {
String getName() { return "foo"; }
};
}
ग्रहण में, यह काम किया! अन्य कक्षाएं टाइप I के संदर्भों पर getName() का आह्वान कर सकती हैं। वास्तविक जावैक ने इसे अस्वीकार कर दिया, दावा किया कि enum में getName() जैसी कोई चीज़ नहीं थी। क्या यह सिर्फ एक ग्रहण बग है?
ध्यान दें कि इस बारे में क्या विचलित है गणनाकर्ता के अंदर विधि परिभाषा है। अगर मैं सामान्य बात करता हूं, तो यह सब ग्रहण और जावैक दोनों में ठीक काम करता है, और इस क्षेत्र को एक क्षेत्र के मूल्य को वापस करने वाले enum के नीचे परिभाषित किया गया है।
इसकी अनुमति दी जानी चाहिए। यह प्रश्न संबंधित है: http://stackoverflow.com/questions/2709593/why-would-an-enum-implement-an-interface आपको 'javac' त्रुटि क्या मिल रही है? शीर्षक के लिए –
+1। :-) –
http://stackoverflow.com/questions/9505857/workaround-for-javac-compilation-order-bug-in-maven – Nicocube