কম্পিউটার

জাভাতে সুরক্ষিত এবং ডিফল্ট অ্যাক্সেস স্পেসিফায়ারের মধ্যে পার্থক্য কী?


সুরক্ষিত অ্যাক্সেস স্পেসিফায়ার একই প্যাকেজের মধ্যে দৃশ্যমান এবং এছাড়াও সাবক্লাসে দৃশ্যমান যেখানে ডিফল্ট এটি একটি প্যাকেজ স্তরের অ্যাক্সেস নির্দিষ্ট করে r এবং এটি একই প্যাকেজে দৃশ্যমান হতে পারে।

সুরক্ষিত অ্যাক্সেস স্পেসিফায়ার

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

উদাহরণ

public class ProtectedTest {
   // variables that are protected
   protected int age = 30;
   protected String name = "Adithya";

   /**
    * This method is declared as protected.
    */
   protected String getInfo() {
      return name +" is "+ age +" years old.";
   }
   public static void main(String[] args) {
      System.out.println(new ProtectedTest().getInfo());
   }
}

আউটপুট

Adithya is 30 years old.


ডিফল্ট অ্যাক্সেস স্পেসিফায়ার

  • উল্লেখিত ক্লাসের যেকোনো সদস্য কোনও অ্যাক্সেস নির্দিষ্টকারী ছাড়াই তারপর এটিকে ডিফল্ট হিসাবে বিবেচনা করা হয় .
  • দি D ইফল্ট একই প্যাকেজের মধ্যে সর্বজনীন হিসাবে কাজ করবে এবং প্যাকেজের বাইরে ব্যক্তিগত হিসাবে কাজ করবে।
  • ডিফল্ট যেকোনো শ্রেণীর সদস্যরা একই প্যাকেজের মধ্যে যেকোনো কিছুর জন্য উপলব্ধ হতে পারে এবং প্যাকেজের বাইরে কোনো শর্তে পাওয়া যাবে না।
  • ডিফল্ট অ্যাক্সেসকে শুধুমাত্র প্যাকেজ স্তরে সীমাবদ্ধ করে , এমনকি ডিফল্ট ডেটা সদস্য থাকা ক্লাসটি বাড়ানোর পরেও আমরা অ্যাক্সেস করতে পারি না।

উদাহরণ

public class DefaultTest {
   // variables that have no access modifier
   int age = 25;
   String name = "Jai";

   /**
    * This method is declared with default aacees specifier
    */
   String getInfo() {
      return name +" is "+ age +" years old.";
   }
   public static void main(String[] args) {
      System.out.println(new DefaultTest().getInfo());
   }
}

আউটপুট

Jai is 25 years old.

  1. জাভাতে JRadioButton এবং JCheckBox এর মধ্যে পার্থক্য কি?

  2. জাভাতে JTextField এবং JTextArea এর মধ্যে পার্থক্য কি?

  3. জাভাতে JFrame এবং JDialog এর মধ্যে পার্থক্য কি?

  4. জাভাতে GridLayout এবং GridBagLayout এর মধ্যে পার্থক্য কি?