জাভাতে, পদ্ধতির জন্য চারটি অ্যাক্সেস মডিফায়ার রয়েছে:
public
- যে কোনও শ্রেণি এই পদ্ধতিটি ব্যবহার করতে পারে।
protected
- একই প্যাকেজের ক্লাস এবং যে কোনও প্যাকেজের সাবক্লাসগুলি এই পদ্ধতিটি ব্যবহার করতে পারে।
private
- শুধুমাত্র এই শ্রেণিটি এই পদ্ধতিটি ব্যবহার করতে পারে।
no modifier
("প্যাকেজ বেসরকারী") - একই প্যাকেজের কেবল ক্লাসগুলি এই পদ্ধতিটি ব্যবহার করতে পারে।
প্রায়শই যা ঘটে তা হ'ল আমি একটি সুপারক্লাসে দরকারী পদ্ধতি থাকতে চাই, যা সমস্ত উপশ্রেণী ব্যবহার করতে পারে। তবে অন্যান্য শ্রেণীর পক্ষে এই পদ্ধতিটি অ্যাক্সেস করা কোনও অর্থবোধ করে না এবং এক অর্থে এটি এনক্যাপসুলেশনটি ভেঙে দেয়।
সুতরাং আমাকে সুপারক্লাসে এই দরকারী পদ্ধতিগুলি ঘোষণা করতে হবে public
বা protected
যা কমপক্ষে প্যাকেজে অন্য সমস্ত শ্রেণীর কাছে তাদের প্রকাশ করে। যদিও সেগুলি কেবলমাত্র সাবক্লাস দ্বারা ব্যবহার করা বোঝানো হয়েছিল।
subclasses-only
জাভাতে অ্যাক্সেস মডিফায়ার না থাকার কোনও কারণ আছে কি ? এটি আমার কাছে খুব অদ্ভুত বলে মনে হচ্ছে। আমি কিছু অনুপস্থিত করছি?
এছাড়াও, subclasses-only
যখন আপনি কেবল পরিবর্তনশীলগুলিকে কেবল সাবক্লাসে প্রকাশ করতে চান তখন অ্যাক্সেস মডিফায়ারও কার্যকর হবে। আমার কাছে যা অনেক ঘটে।