এই পোস্টে আমরা জাভাতে 'static' এবং 'final' কীওয়ার্ডের পার্থক্য বুঝব।
Static
- এটি নেস্টেড স্ট্যাটিক ক্লাস, ভেরিয়েবল, মেথড এবং ব্লকে প্রয়োগ করা যায়।
- স্ট্যাটিক ভেরিয়েবল ডিক্লেয়ার করার সময় ইনিশিয়ালাইজ করা প্রয়োজন নয়।
- এই ভেরিয়েবল রি-ইনিশিয়ালাইজ করা যায়।
- এটি ক্লাসের শুধু স্ট্যাটিক মেম্বারগুলো অ্যাক্সেস করতে পারে।
- এটি শুধু অন্যান্য স্ট্যাটিক মেথড দ্বারা কল করা যায়।
- স্ট্যাটিক ক্লাসের অবজেক্ট তৈরি করা যায় না।
- স্ট্যাটিক ক্লাস শুধু স্ট্যাটিক মেম্বার ধারণ করতে পারে।
- এটি স্ট্যাটিক ভেরিয়েবল ইনিশিয়ালাইজ করতে ব্যবহৃত হয়।
Final
- এটি একটি কীওয়ার্ড।
- এটি ক্লাস, মেথড এবং ভেরিয়েবলে রстриকশন লাগাতে ব্যবহৃত হয়।
- এটি ইনহেরিট করা যায় না।
- এটি ওভাররাইড করা যায় না।
- ফাইনাল মেথডগুলো কোনো ক্লাসে ইনহেরিট করা যায় না।
- ফাইনাল ভেরিয়েবল ডিক্লেয়ার করার সময় ইনিশিয়ালাইজ করা প্রয়োজন।
- একবার ডিক্লেয়ার করলে এর মান পরিবর্তন বা রি-ইনিশিয়ালাইজ করা যায় না।