একবার আপনি একটি চূড়ান্ত ভেরিয়েবল শুরু করলে আপনি এর মান আরও সংশোধন করতে পারবেন না। অর্থাৎ আপনি শুধুমাত্র একবার একটি চূড়ান্ত ভেরিয়েবলের মান নির্ধারণ করতে পারেন। আপনি যদি একটি চূড়ান্ত ভেরিয়েবলের মান নির্ধারণ করার চেষ্টা করেন তবে একটি কম্পাইল টাইম ত্রুটি তৈরি হবে৷
উদাহরণ
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)