تو جاوا چهارتا سطح دسترسی داریم:

  • -: این گروه از آیتم ها فقط در پکیج در دسترس هستند و لازم نیست از هیچ کلیدی استفاده کنیم.
  • private: این گروه از آیتم ها فقط در کلاس در دسترس هستند.
    • کلاس ها و اینترفیس ها نمی‌تونن private باشن.
    • متغییر های private از بیرون از کلاس در دسترس نیستند مگر با استفاده از یک متد public.
    • این دسترسی برای کپسوله کردن استفاده می‌شود.
  • public: این گروه از آیتم ها در همه جا در دسترس هستند.
    • برای دسترسی به کلاس ها public بیرون از پکیج لازم هستش ک پکیج اونها رو import کنیم.
  • protected: این گروه از آیتم ها در پکیج و در تمام زیر کلاس ها در دسترس هستند.
    • کلاس ها و اینترفیس ها نمی‌تونن protected باشن.
    • متد ها و متغییر ها در اینترفیس ها نمیتونن protected باشن.

این دسترسی ها بر روی متغییر ها، توابع، کلاس ها، انترفیس ها و سازنده ها اعمال میشن.

قوانین این دسترسی ها بر متدها در وراثت:

  • متد ها public باید در فرزندان هم public باقی بمونن.
  • متد ها protected توی فرزندان می‌تونن public یا protected باشند ولی نمی‌تونن private باشن.
  • متد های private در فرزندان قابل مشاهده نیستند !

+