In what context are statements in Java interface definitions executed? -


मैं की परिभाषा को देख रहा हूँ:

  सार्वजनिक इंटरफ़ेस Mojo {String ROLE = Mojo.class.getName (); [...]}  

मैं खो गया हूं मेरे ज्ञान के लिए, जावा इंटरफेस विधि हस्ताक्षर का एक सेट है। तो क्या यह रेखा है जो यहां एक बयान की तरह दिखती है? शब्दार्थ क्या हैं? उदाहरण के लिए:

  • उस पंक्ति को "क्रियान्वित" कब किया जाता है?
  • उस संदर्भ में उस पंक्ति के चलते, मोजो क्या संदर्भ देता है ? इसका प्रकार क्या है?
  • उस संदर्भ में जिस पंक्ति में चलती है, Mojo.class क्या करता है? मुझे लगता है कि इसका प्रकार java.lang.Class है
  • मैं किस संदर्भ में ROLE चर को पढ़ सकता हूँ? ऐसा करने के लिए वाक्यविन्यास क्या है?

एक इंटरफ़ेस के सभी फ़ील्ड्स निहित सार्वजनिक, स्थिर और अंतिम हैं तो यह लेखन के समान है

  सार्वजनिक स्थिर अंतिम स्ट्रिंग ROLE = Mojo.class.getName ();  

यह एक निरंतरता को परिभाषित करता है, कि इंटरफ़ेस के सभी उपयोगकर्ता उपयोग कर सकते हैं, जैसे कि कोई अन्य स्थिरांक: Mojo.ROLE । यह पंक्ति निष्पादित की जाती है जब क्लाज लोडर द्वारा मोजो इंटरफ़ेस आरंभ किया जाता है। मोजो। वर्ग मोजो वर्ग है, वास्तव में टाइप java.lang.Class & lt; Mojo & gt; चूंकि क्लास का पैकेज org.apache.maven.plugin है, स्थिर का मान "org.apache.maven.plugin.Mojo" होगा।

जावा भाषा विनिर्देश के संबंधित अनुभाग को देखें।


Comments