কম্পিউটার টিউটোরিয়াল

জাভাতে final কীওয়ার্ড

final জাভা এলিমেন্টের জন্য একটি নন-অ্যাকসেস মডিফায়ার। final মডিফায়ার ক্লাস, মেথড এবং ভেরিয়েবলের ইমপ্লিমেন্টেশন ফাইনালাইজ করতে ব্যবহৃত হয়।

ফাইনাল ভেরিয়েবল

একটি final ভেরিয়েবল শুধু একবার এক্সপ্লিসিটলি ইনিশিয়ালাইজ করা যায়। final ঘোষিত একটি রেফারেন্স ভেরিয়েবল কখনো অন্য অবজেক্টকে রেফার করতে রি-অ্যাসাইন করা যাবে না।

তবে, অবজেক্টের ভিতরের ডেটা পরিবর্তন করা যাবে। তাই, অবজেক্টের স্টেট পরিবর্তন করা যায় কিন্তু রেফারেন্স না।

ভেরিয়েবলের সাথে, final মডিফায়ার প্রায়শই static এর সাথে ব্যবহার হয় কনস্ট্যান্টকে একটি ক্লাস ভেরিয়েবল বানাতে।

উদাহরণ

public class Test {
    final int value = 10;
    // কনস্ট্যান্ট ডিক্লেয়ার করার উদাহরণ:
    public static final int BOXWIDTH = 6;
    static final String TITLE = "Manager";
    public void changeValue() {
        value = 12; // will give an error
    }
}

ফাইনাল মেথড

একটি final মেথড কোনো সাবক্লাস দ্বারা ওভাররাইড করা যাবে না। পূর্বে উল্লেখ করা হয়েছে, final মডিফায়ার একটি মেথডকে সাবক্লাসে মডিফাই হওয়া থেকে রোধ করে।

একটি মেথডকে final করার মূল উদ্দেশ্য হল মেথডের কনটেন্ট কোনো আউটসাইডার দ্বারা পরিবর্তন করা না যাবে।

উদাহরণ

আপনি ক্লাস ডিক্লেয়ারেশনে final মডিফায়ার ব্যবহার করে মেথড ডিক্লেয়ার করেন, নিচের মত:

public class Test {
    public final void changeName() {
        // body of method
    }
}

ফাইনাল ক্লাস

একটি ক্লাসকে final ঘোষণা করার মূল উদ্দেশ্য হল ক্লাসকে সাবক্লাস করা থেকে রোধ করা। যদি একটি ক্লাস final চিহ্নিত করা হয়, তবে কোনো ক্লাস সেই ফাইনাল ক্লাস থেকে কোনো ফিচার ইনহেরিট করতে পারবে না।

উদাহরণ

public final class Test {
    // body of class
}
  1. জাভাতে অ্যাবস্ট্রাক্ট ক্লাস

  2. জাভাতে ফাইনাল ক্লাস

  3. জাভাতে ফাইনাল ভেরিয়েবল

  4. জাভাতে super কীওয়ার্ড