কম্পিউটার

আমরা কি জাভাতে একটি শীর্ষ স্তরের শ্রেণীকে সুরক্ষিত বা ব্যক্তিগত হিসাবে ঘোষণা করতে পারি?


না , আমরা একটি শীর্ষ-স্তরের শ্রেণীকে ব্যক্তিগত বা সুরক্ষিত হিসাবে ঘোষণা করতে পারি না . এটি হয় সর্বজনীন হতে পারে৷ অথবা ডিফল্ট ( কোন মডিফায়ার নেই)। যদি এটির একটি সংশোধক না থাকে তবে এটির একটি ডিফল্ট অ্যাক্সেস থাকার কথা৷

সিনট্যাক্স

// একটি শীর্ষ স্তরের ক্লাস পাবলিক ক্লাস 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("প্রধান শ্রেণীর ঘোষণা সর্বজনীন হিসাবে"); }}

উপরের উদাহরণে, আমরা ক্লাসটিকে ব্যক্তিগত হিসাবে ঘোষণা করতে পারি , এটি একটি ত্রুটি নিক্ষেপ করবে বলে যে মোডিফায়ার প্রাইভেট এখানে অনুমোদিত নয় . তাই উপরের কোডটি কার্যকর হয় না।

আউটপুট

মোডিফায়ার প্রাইভেট এখানে অনুমোদিত নয়

  1. Enum জাভা কোন ক্লাস প্রসারিত করতে পারেন?

  2. আমরা কি জাভাতে একটি সুরক্ষিত পদ্ধতি ওভাররাইড করতে পারি?

  3. কিভাবে আমরা জাভাতে একটি JTextField এ প্যাডিং যোগ করতে পারি?

  4. জাভাতে একক স্তরের উত্তরাধিকার