java - What will happen to variable Declared in Interface ? if the implemented class has the same variable? -


कोड नीचे है।

  सार्वजनिक इंटरफ़ेस DesignPatternInterface {int CUSTOMERAGE = 45; } पब्लिक क्लास इम्प्लीमेंट इंटरफेस AbstaractDemo लागू करता है DesignPatternInterface {निजी स्थिर अंतिम पूर्णांक CUSTOMERAGE = 20; }  

मेरा प्रश्न है अंतरफलक चर स्थिर है और स्मृति को सौंपा जाएगा

इस कोड पर विचार करें:

  इंटरफ़ेस डिज़ाइनपटार्न इंटरफेस {int CUSTOMERAGE = 45; } पब्लिक क्लास इम्प्लीमेंट इनफ़ेफेस औजार डिज़ाइनपेटर्न इंटरफ़ेस {स्टैटिक फाइनल इंट कस्टमारेज़ = 20; सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {System.out.println (CUSTOMERAGE); Println (DesignPatternInterface.CUSTOMERAGE); }}  

यह प्रिंट करेगा

  20 45  

मेरा मानना ​​है कि यह एक अच्छा व्यावहारिक विवरण के रूप में काम करना चाहिए आपका शक है।

यह भी ध्यान रखें कि आदिम स्थिर अंतिम चर के लिए ढेर पर कोई स्मृति आवंटित नहीं की गई है; मान वर्ग का वर्णन स्मृति संरचना के भीतर रहता है, कक्षा का उदाहरण नहीं। विशिष्ट जेवीएम के विवरण के आधार पर, वर्ग-वर्णन संरचना या तो एक विशेष हेप क्षेत्र में है जो जेवीएम इंटरनल के लिए आरक्षित है, या बिल्कुल ढेर पर नहीं।


Comments