final Keyword


final একটি জাভা কীওয়ার্ড যেটি বিভিন্ন ক্ষেত্রে ব্যবহার করা যায়।

  • variable এ

  • method এ এবং

  • class এ



ভেরিয়েবল এর ক্ষেত্রে:

কোন ভেরিয়েবলের আগে যদি final কীওয়ার্ড ব্যবহার করো তাহলে ওই ভেরিয়েবলকে বলা হয় কন্সট্যান্ট (Constant)। কন্সট্যান্টও এক ধরণের ভেরিয়েবল যা ডাটা ধারণ করতে পারে কিন্তু তার ভ্যালু কোথাও থেকে পরে পরিবর্তন করা যায় না। যেমন:




আমরা এখন এটার ভ্যালু মেথড থেকে চেঞ্জ করতে পারি কি না দেখি।




এরর, অর্থাৎ আমরা পারবো না।

তবে হ্যাঁ, যদি তুমি final ভেরিয়েবল ডিক্লেয়ার করার সময় কোন ইনিশিয়াল ভ্যালু না দাও উপরের মত।




এখানে কোন ইনিশিয়াল ভ্যালু দেয়া হয় নি।

তাহলে তুমি শুধু কন্সট্রাক্টর মেথড থেকে তার ভ্যালু বসাতে পারবে।








আরেকটি ব্যাপার হলো final কীওয়ার্ড দিয়ে ডিক্লেয়ার করা কোন ভেরিয়েবল যাকে বলা হচ্ছে কন্সট্যান্ট। এর নামকরণের একটু কনভেনশন(Convention) আছে। সেটি হলো ভেরিয়েবলটির নাম Upper Case হবে। অর্থাৎ এমন: DASHBOARD এবং একাধিক ওয়ার্ড থাকলে এমন হবে CAR_DASHBOARD।

মেথডের ক্ষেত্রে:

কোন মেথডের আগে যদি তুমি final কীওয়ার্ড ব্যবহার করো সেই মেথডকে চাইল্ড ক্লাশ থেকে ওভাররাইড করতে পারবে না। মেথড ওভাররাইডিং কিভাবে করতে হয় তা তো আমরা আগেই জেনেছি।




ক্লাশের ক্ষেত্রে:

কোন ক্লাশের আগে যদি তুমি final কীওয়ার্ড ব্যবহার করো তাহলে ওই ক্লাশকে তুমি কোন চাইল্ড ক্লাশে extend করতে পারবে না।

BasicCar ক্লাশটির আগে final কীওয়ার্ড ব্যবহার করলাম:




এরপর তাকে BronoxCar ক্লাশে extend করতে গেলাম:




এরর, এর অর্থ আমরা BasicCar ক্লাশটিকে extend করতে পারবো না।