ফাইনাল (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(); } }