না , আমরা একটি শীর্ষ-স্তরের শ্রেণীকে ব্যক্তিগত বা সুরক্ষিত হিসাবে ঘোষণা করতে পারি না . এটি হয় সর্বজনীন হতে পারে৷ অথবা ডিফল্ট ( কোন মডিফায়ার নেই)। যদি এটির একটি সংশোধক না থাকে তবে এটির একটি ডিফল্ট অ্যাক্সেস থাকার কথা৷
সিনট্যাক্স
// একটি শীর্ষ স্তরের ক্লাস পাবলিক ক্লাস TopLevelClassTest {// Class body
- যদি একটি শীর্ষ-স্তরের শ্রেণী ব্যক্তিগত হিসাবে ঘোষণা করা হয়েছে৷ কম্পাইলার অভিযোগ করবে যে মোডিফায়ার প্রাইভেট এখানে অনুমোদিত নয়। এর মানে হল একটি শীর্ষ-স্তরের ক্লাস একটি ব্যক্তিগত হতে পারে না৷ , একই সুরক্ষিত এ প্রয়োগ করা যেতে পারে অ্যাক্সেস স্পেসিফায়ারও।
- সুরক্ষিত এর মানে হল যে সদস্যকে একই প্যাকেজ এবং সাবক্লাসের মাধ্যমে যে কোনো ক্লাসে অ্যাক্সেস করা যেতে পারে এমনকি যদি তারা অন্য প্যাকেজে থাকে .
- শীর্ষ-স্তর ক্লাসে শুধুমাত্র সর্বজনীন, বিমূর্ত থাকতে পারে এবং ফাইনাল সংশোধক, এবং কোনো শ্রেণী সংশোধককে মোটেই সংজ্ঞায়িত না করাও সম্ভব। একে ডিফল্ট/প্যাকেজ বলা হয় অ্যাক্সেসযোগ্যতা।
- আমরা ভিতরের ক্লাস ঘোষণা করতে পারি ব্যক্তিগত হিসাবে অথবা সুরক্ষিত , কিন্তু এটি বাইরে অনুমোদিত নয়৷ ক্লাস .
- একাধিক টপ-লেভেল ক্লাস জাভা সোর্স ফাইলে সংজ্ঞায়িত করা যেতে পারে, তবে সর্বাধিক একটিসর্বজনীন শীর্ষ-স্তরের শ্রেণী থাকতে পারে ঘোষণা ফাইলের নাম অবশ্যই পাবলিক ক্লাসের নামের সাথে মিলতে হবে।
ক্লাসটিকে সুরক্ষিত হিসাবে ঘোষণা করুন
উদাহরণ
সুরক্ষিত ক্লাস ProtectedClassTest { int i =10; void show() { System.out.println("টপ-লেভেল ক্লাসকে সুরক্ষিত হিসাবে ঘোষণা করুন"); }}পাবলিক ক্লাস টেস্ট { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { প্রোটেক্টেডক্লাসটেস্ট পিসি =নতুন প্রোটেক্টেড ক্লাস টেস্ট(); System.out.println(pc.i); pc.show(); System.out.println("প্রধান শ্রেণীর ঘোষণা সর্বজনীন হিসাবে"); }}
উপরের উদাহরণে, আমরা ক্লাসটিকে সুরক্ষিত হিসাবে ঘোষণা করতে পারি , এটি একটি ত্রুটি নিক্ষেপ করবে বলে যে সংশোধনকারী এখানে অনুমোদিত নয়৷ . তাই উপরের কোডটি কার্যকর হয় না।
আউটপুট
সংশোধনকারী এখানে অনুমোদিত নয়
ক্লাসটিকে ব্যক্তিগত হিসাবে ঘোষণা করুন
উদাহরণ
প্রাইভেট ক্লাস PrivateClassTest { int x =20; void show() { System.out.println("টপ-লেভেল ক্লাসকে ব্যক্তিগত হিসাবে ঘোষণা করুন"); }}পাবলিক ক্লাস টেস্ট { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং আর্গস[]) { প্রাইভেটক্লাসটেস্ট পিসি =নতুন প্রাইভেটক্লাস টেস্ট(); System.out.println(pc.x); pc.show(); System.out.println("প্রধান শ্রেণীর ঘোষণা সর্বজনীন হিসাবে"); }}উপরের উদাহরণে, আমরা ক্লাসটিকে ব্যক্তিগত হিসাবে ঘোষণা করতে পারি , এটি একটি ত্রুটি নিক্ষেপ করবে বলে যে মোডিফায়ার প্রাইভেট এখানে অনুমোদিত নয় . তাই উপরের কোডটি কার্যকর হয় না।
আউটপুট
মোডিফায়ার প্রাইভেট এখানে অনুমোদিত নয়