Vivasoft-logo

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