একটি মেথড সঠিকভাবে ওভাররাইড করার জন্য নিচের নিয়মগুলো বিবেচনা করা উচিত:
- আর্গুমেন্ট লিস্ট ওভাররাইড করা মেথডের মতো সেম থাকতে হবে।
- রিটার্ন টাইপ সেম হতে হবে বা সুপারক্লাসে ডিক্লেয়ার্ড ওভাররাইড করা মেথডের রিটার্ন টাইপের সাবটাইপ হতে পারে।
- অ্যাক্সেস লেভেল ওভাররাইড করা মেথডের অ্যাক্সেস লেভেলের চেয়ে বেশি রেস্ট্রিক্টিভ হতে পারে না। উদাহরণ: সুপারক্লাস মেথড
publicহলে সাবক্লাসে ওভাররাইডিং মেথডprivateবাprotectedহতে পারে না। - ইনস্ট্যান্স মেথড শুধু ওভাররাইড করা যায় যদি সেগুলো সাবক্লাস দ্বারা ইনহেরিট করা হয়।
finalঘোষিত মেথড ওভাররাইড করা যাবে না।staticঘোষিত মেথড ওভাররাইড করা যাবে না কিন্তু রি-ডিক্লেয়ার করা যায়।- যদি একটি মেথড ইনহেরিট করা না যায়, তবে সেটি ওভাররাইড করা যাবে না।
- সেম প্যাকেজে থাকা সাবক্লাস সুপারক্লাসের যেকোনো মেথড ওভাররাইড করতে পারে যা
privateবাfinalঘোষণা করা নেই। - ভিন্ন প্যাকেজে থাকা সাবক্লাস শুধু
publicবাprotectedডিক্লেয়ার্ড নন-ফাইনাল মেথড ওভাররাইড করতে পারে। - একটি ওভাররাইডিং মেথড যেকোনো আনচেকড এক্সেপশন থ্রো করতে পারে, ওভাররাইড করা মেথড এক্সেপশন থ্রো করে কিনা তার পxide না। তবে, ওভাররাইডিং মেথডে নতুন বা ব্রডার চেকড এক্সেপশন থ্রো করা উচিত নয়। ওভাররাইডিং মেথড ন্যারোয়ার বা কম এক্সেপশন থ্রো করতে পারে।
- কনস্ট্রাক্টর ওভাররাইড করা যাবে না।