मुझे पता है कि एक बार अंतिम चर के पास एक मान दिया गया है, इसे बदला नहीं जा सकता है। हालांकि मैं अभी इस बारे में सवालों की एक जोड़ी:जावा - अंतिम चर
जब मैं एक क्षेत्र है, एक वर्ग के बाहर
static final JButton button;
कहते हैं, और उसके बादmain
विधि में, यह एक मूल्य निर्दिष्टbutton = new JButton("OK");
कोशिश, मैं कोई त्रुटि मिलती है मुझे अंतिम संशोधक को हटाने के लिए कह रहा है? हालांकि मूलbutton
वैरिएबल अभी तक किसी ऑब्जेक्ट का संदर्भ नहीं देता है, मैं इंप्रेशन के तहत था, मैं इसे एक बार असाइन कर सकता था?दूसरा, अगर मैं पूरी तरह से
button
के संदर्भ को हटा देता हूं तो मेरे पास कक्षा के बाहरstatic final JButton button;
है, मेरा आईडीई दावा करता है "रिक्त अंतिम फ़ील्ड बटन प्रारंभ नहीं किया जा सकता है।" क्या इसका मतलब यह है कि सभी अंतिम फ़ील्ड आरंभ किया जाना चाहिए? और यदि हां, तो उन्हें वहां शुरू किया जाना चाहिए और फिर जैसा कि मैं इसे बाद में शुरू नहीं कर सकता।इसके अलावा, मूर्ख सवाल, लेकिन मेरी प्रारंभिक धारणा है कि जब एक अंतिम चर को किसी उदाहरण या डेटा प्रकार के संदर्भ में संदर्भित किया जाता है तो इसे किसी अन्य चीज़ के लिए असाइन नहीं किया जा सकता है, है ना?
इस कोड को पूरा नहीं हुआ है, लेकिन मेरी बात को वर्णन करने के प्रदान की जाती है:
public class FinalVarTester {
static final JButton button;
public static void main(String[] args) {
JFrame frame = new JFrame();
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
button = new JButton("OK");
container.add(button, BorderLayout.SOUTH);
}
}
यह घोषणा के समय में अंतिम चर प्रारंभ करने में अनिवार्य नहीं है? –