ফাইনাল (final) কীওয়ার্ড
জাভা
ফাইনাল কীওয়ার্ড জাভার একটি অনন্য বৈশিষ্ট্য। যদিও “ইনহেরিটেন্স” এর মাধ্যমে আমরা OOP-তে কোড রিউজ করতে পারি, কিন্তু কখনও কখনও একটি ক্লাসের কোন একটি মেথড বা ফিল্ডে আমাদের সীমাবদ্ধতা নির্ধারন করার প্রয়োজন ও হতে পারে। এক্ষেত্রে এই কীওয়ার্ড বেশ সহায়ক।
- এটি “final” কীওয়ার্ড দ্বারা শুরু হয়।
- কোন ক্লাসের আগে এই কীওয়ার্ড ব্যবহৃত হলে, সে ক্লাসকে ইনহেরিট/এক্সটেন্ড করা যায় না।
- কোন মেথডের আগে ফাইনাল কীওয়ার্ডের ব্যবহৃত হলে, সে মেথডকে ইনহেরিট করা যায়, তবে ওভাররাইড করা যায় না।
- কোন ভ্যারিয়েবল ফাইনাল হিসেবে চিহ্নিত হলে তাকে রিএসাইন (Reassign) করা যায় না।
- কনস্ট্যান্ট বা write-once ফিল্ডগুলোর ক্ষেত্রে ফাইনাল ব্যবহৃত হয়।
উদাহরণঃ
class Bike {
final int speedLimit = 90; // Final variable
final void run() { //Final Method
System.out.println(“running…”);
}
}
class Honda extends Bike {
void run() {
System.out.println(“running safely with 100kmph”);
}
public static void main(String args[]) {
Honda honda = new Honda();
System.out.println(“Speed Limit: ” + honda.speedLimit);
honda.run();
}
}