final Java एलिमेंट्स के लिए एक नॉन-एक्सेस मॉडिफायर है। final मॉडिफायर का उपयोग क्लासेज, मेथड्स और वेरिएबल्स के कार्यान्वयन को अंतिम रूप देने के लिए किया जाता है।
Final Variables
एक final वेरिएबल को केवल एक बार स्पष्ट रूप से इनिशियलाइज़ किया जा सकता है। final घोषित एक रेफरेंस वेरिएबल को कभी भी किसी अलग ऑब्जेक्ट को संदर्भित करने के लिए पुनः असाइन नहीं किया जा सकता।
हालांकि, ऑब्जेक्ट के भीतर डेटा को बदला जा सकता है। इसलिए, ऑब्जेक्ट की स्थिति बदली जा सकती है लेकिन रेफरेंस नहीं।
वेरिएबल्स के साथ, final मॉडिफायर का उपयोग अक्सर static के साथ किया जाता है ताकि कॉन्स्टेंट को क्लास वेरिएबल बनाया जा सके।
उदाहरण
public class Test {
final int value = 10;
// कॉन्स्टेंट घोषित करने के निम्नलिखित उदाहरण हैं:
public static final int BOXWIDTH = 6;
static final String TITLE = "Manager";
public void changeValue() {
value = 12; // त्रुटि देगा
}
}Final Methods
एक final मेथड को किसी भी सबक्लास द्वारा ओवरराइड नहीं किया जा सकता। जैसा कि पहले उल्लेख किया गया है, final मॉडिफायर एक मेथड को सबक्लास में संशोधित होने से रोकता है।
मेथड को final बनाने का मुख्य उद्देश्य यह होगा कि मेथड की सामग्री को किसी बाहरी व्यक्ति द्वारा नहीं बदला जाना चाहिए।
उदाहरण
आप क्लास घोषणा में final मॉडिफायर का उपयोग करके मेथड्स घोषित करते हैं, जैसा कि निम्नलिखित में
public class Test {
public final void changeName() {
// body of method
}
}Final Classes
क्लास को final घोषित करने का मुख्य उद्देश्य क्लास को सबक्लास होने से रोकना है। यदि एक क्लास को final के रूप में चिह्नित किया जाता है तो कोई भी क्लास final क्लास से किसी भी सुविधा को इनहेरिट नहीं कर सकती।
उदाहरण
public final class Test {
// body of class
}