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

জাভাতে সুপারক্লাসের final মেথড ওভাররাইড করার চেষ্টা করলে কী হবে?


সুপারক্লাসে final হিসেবে ডিক্লেয়ার করা যেকোনো মেথড সাবক্লাস দ্বারা ওভাররাইড করা যাবে না। যদি আমরা সুপারক্লাসের ফাইনাল মেথড ওভাররাইড করার চেষ্টা করি, তবে জাভাতে এরর পাব।

মেথড ওভাররাইডিং বাস্তবায়নের নিয়মাবলী

  • মেথড ডিক্লেয়ারেশন ওভাররাইড করা মেথডের মতোই হতে হবে।
  • ক্লাস (সাবক্লাস) অন্য একটি ক্লাস (সুপারক্লাস) এক্সটেন্ড করা থাকতে হবে, ওভাররাইড করার চেষ্টা করার আগে।
  • সাব ক্লাস কখনোই সুপার ক্লাসের ফাইনাল মেথড ওভাররাইড করতে পারবে না।

উদাহরণ

class Car { 
    public void brake() { 
        System.out.println("brake() method of Car"); 
    } 
    public final void accelerate() { 
        System.out.println("accelerate() method of Car"); 
    } 
} 
public class BenzCar extends Car { 
    public static void main(String[] args) { 
        BenzCar benz = new BenzCar(); 
        benz.accelerate(); 
        benz.brake(); 
    } 
    public void accelerate() { 
        System.out.println("accelerate() method of Benz Car"); 
    } 
}

উপরের উদাহরণে, যদি আমরা সুপারক্লাসের ফাইনাল মেথড (accelerate() মেথড) ওভাররাইড করার চেষ্টা করি, কম্পাইলার এরর থ্রো করবে। সুতরাং জাভাতে সুপারক্লাসের ফাইনাল মেথড ওভাররাইড করা যায় না।

আউটপুট

overridden method is final
  1. জাভাতে String intern() মেথডের ভূমিকা

  2. জাভাতে pack() মেথড কখন ব্যবহার করবেন

  3. জাভাতে setBounds() মেথডের ব্যবহার কী?

  4. জাভাতে main() মেথড কি final ডিক্লেয়ার করা যায়?