কম্পিউটার

কীভাবে একটি ভেরিয়েবল তৈরি করবেন যা শুধুমাত্র একবার সেট করা যেতে পারে কিন্তু জাভাতে চূড়ান্ত নয়?


একবার আপনি একটি চূড়ান্ত ভেরিয়েবল শুরু করলে আপনি এর মান আরও সংশোধন করতে পারবেন না। অর্থাৎ আপনি শুধুমাত্র একবার একটি চূড়ান্ত ভেরিয়েবলের মান নির্ধারণ করতে পারেন। আপনি যদি একটি চূড়ান্ত ভেরিয়েবলের মান নির্ধারণ করার চেষ্টা করেন তবে একটি কম্পাইল টাইম ত্রুটি তৈরি হবে৷

উদাহরণ

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");
   }
}

আউটপুট

থ্রেড "main" java.lang.RuntimeException-এ
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. কিভাবে আমরা জাভাতে একটি JPanel এ পটভূমির রঙ সেট করতে পারি?

  2. কিভাবে আমরা জাভাতে JCheckBox এ একটি সীমানা সেট করতে পারি?

  3. আমরা কিভাবে JTextField জাভাতে শুধুমাত্র সংখ্যা গ্রহণ করতে পারি?

  4. কিভাবে আমরা জাভাতে একটি লগইন ফর্ম তৈরি করতে পারি?