Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

एक वेरिएबल कैसे बनाएं जिसे केवल एक बार सेट किया जा सकता है लेकिन जावा में अंतिम नहीं है?

एक बार जब आप अंतिम चर प्रारंभ कर देते हैं तो आप इसके मान को और संशोधित नहीं कर सकते हैं। यानी आप केवल एक बार अंतिम चर के लिए मान निर्दिष्ट कर सकते हैं। यदि आप अंतिम चर के लिए मान निर्दिष्ट करने का प्रयास करते हैं तो एक संकलन समय त्रुटि उत्पन्न होगी।

उदाहरण

public class FinalExample {
   final int j = 100;
   public static void main(String args[]){
      FinalExample obj = new FinalExample();
      obj.j = 500;
      System.out.println(obj.j);
   }
}

संकलन समय त्रुटि

FinalExample.java:6: error: cannot assign a value to final variable j
   obj.j = 500;
      ^
1 error

"अंतिम" कार्यक्षमता प्राप्त करना

वास्तव में अंतिम कीवर्ड का उपयोग किए बिना अंतिम कार्यक्षमता प्राप्त करने के लिए -

सेटर विधि का उपयोग करके चर को निजी बनाएं और मान सेट करें जैसे कि यदि आप इसे दूसरी बार लागू करने का प्रयास करते हैं तो इसे पिछले मान को सेट करना चाहिए या अपवाद फेंकना चाहिए।

उदाहरण

public class FinalExample {
   private Integer num;
   public void setNum(int num){
      this.num = this.num == null ? num : this.num;
   }
   private String data;
   public void setData(String data) {
      this.data = this.data == null ? data : demo();
   }
   public String demo() {
      String msg = "You cannot set value to the variable data for the second time";
      throw new RuntimeException(msg);
   }
   public static void main(String args[]){
      FinalExample obj = new FinalExample();
      obj.setNum(200);
      System.out.println(obj.num);
      obj.setNum(500);
      System.out.println(obj.num);
      obj.setData("hello");
      obj.setData("sample data");
   }
}

आउटपुट

200
200
Exception in thread "main" java.lang.RuntimeException: You cannot set value to the variable data for the second time
at SEPTEMBER.remaining.FinalExample.demo(FinalExample.java:15)
at SEPTEMBER.remaining.FinalExample.setData(FinalExample.java:12)
at SEPTEMBER.remaining.FinalExample.main(FinalExample.java:26)
पर
  1. हम जावा में JCheckBox के लिए सीमा कैसे निर्धारित कर सकते हैं?

    एक JCheckBox एक घटक है जो JToggleButton . का विस्तार कर सकता है और JCheckBox . का एक ऑब्जेक्ट एक विकल्प का प्रतिनिधित्व करता है जिसे चेक किया जा सकता है या अनचेक . यदि दो या दो से अधिक विकल्प हैं तो इन विकल्पों में से किसी भी संयोजन को एक ही समय में चुना जा सकता है। हम setBorder() . का उपयोग कर

  1. हम JTextField को जावा में केवल संख्याएँ कैसे स्वीकार कर सकते हैं?

    डिफ़ॉल्ट रूप से, एक JTextField संख्याओं की अनुमति दे सकते हैं , अक्षर , और विशेष अक्षर . JTextField . में टाइप किए गए उपयोगकर्ता इनपुट को मान्य करना मुश्किल हो सकता है, खासकर अगर इनपुट स्ट्रिंग को एक संख्यात्मक मान जैसे कि एक int में परिवर्तित किया जाना चाहिए। नीचे दिए गए उदाहरण में, JTextField

  1. हम जावा में लॉगिन फॉर्म कैसे बना सकते हैं?

    हम Java . का उपयोग करके Java में एक लॉगिन फ़ॉर्म विकसित कर सकते हैं स्विंग तकनीकी। इस उदाहरण में, हम दो लेबल बना सकते हैं उपयोगकर्ता नाम और पासवर्ड , उपयोगकर्ता के लिए मान्य . दर्ज करने के लिए दो टेक्स्ट फ़ील्ड क्रेडेंशियल्स और अंत में एक सबमिट बटन। एक बार जब उपयोगकर्ता दो टेक्स्ट फ़ील्ड में मा