जब मैं अपनी परियोजना में एक कोड का विश्लेषण कर रहा था, तो मैं इस स्थिति में आया। मैंकुछ डेवलपर जावा में अपने इंटरफेस में स्ट्रिंग ऑब्जेक्ट्स क्यों घोषित करते हैं, और यह कैसे काम करता है?
public interface SampleInterface {
String EXAMPLE_ONE = "exampleOne";
String USER_ID = "userId";
public void setValue();
}
नीचे के रूप में पूरा स्ट्रिंग स्थिरांक घोषणा के साथ एक अंतरफलक मिल गया है किसी भी वर्ग इस SampleInterface
इंटरफ़ेस लागू करता है, तो क्या चर यह वाणी का क्या होगा?
- क्या वंचित वर्ग सभी चरों तक पहुंच प्राप्त करता है?
- क्या लागू वर्ग को घोषणाओं को ओवरराइड करने की आवश्यकता है?
- इंटरफ़ेस में स्ट्रिंग चर को घोषित करने का उद्देश्य क्या हो सकता है, जब हम इस उद्देश्य के लिए एक अमूर्त वर्ग का उपयोग कर सकते हैं?
- अंतिम स्थिर क्षेत्रों और एक निजी निर्माता के साथ एक वर्ग:
इसके अलावा, क्या सबसे अच्छी रणनीति है?
आपका कहना है कि सभी स्थिरांक इंटरफ़ेस में रखें और मेरे निष्पादन के दौरान उन्हें एक्सेस करें, मान लीजिए कि कोई वर्ग इस इंटरफ़ेस को लागू करता है, तो उन चर के साथ क्या होता है? – gmhk
फिर आप उन्हें 'MyInterface.MY_CONSTANT' या' MyExtendingClass.MY_CONSTANT' के माध्यम से एक्सेस कर सकते हैं। या यहां तक कि 'instanceOfMyExtendingClass.MY_CONSTANT', क्योंकि वे' सार्वजनिक स्थिर अंतिम 'हैं। – haylem
कार्यान्वयन कक्षा में, आप इसे 'MY_CONSTANT'' के रूप में भी संदर्भित कर सकते हैं (जो पूरे "स्थिरांक के इंटरफ़ेस" विरोधी पैटर्न के लिए प्रारंभिक कारण है)। हालांकि, यदि यह विशेष रूप से आप के बाद क्या है, तो 'आयात स्थिर' घोषणा किसी कारण से जोड़ा गया था। –