کلیدواژه های سطح دسترسی در جاوا

سطح دسترسی در جاوا

بررسی کلیدواژه های سطح دسترسی

با کلیدواژه های سطح دسترسی در جاوا میتونیم مشخص کنیم یک دیتافیلد، متد، کانستراکتور یا کلاس کجا در پروژه قابل دسترس باشه.

در جاوا چهار نوع سطح دسترسی داریم که عبارتند از ‎private, default, protected و public

سطح دسترسی private

با کلیدواژه ی private میتونیم دسترسی یک متغیر، متد، کانستراکتور یا inner class رو محدود به کلاس کنیم.

این کلیدواژه برای کلاس های بیرونی (outer class) قابل تعریف نیست.

class MyClass{ private int number; private MyClass(...){ ... } private R myMethod(...){ ... } private MyInnerClass{ ... } }

سطح دسترسی default

اگه کلیدواژه ای تعریف نکنیم سطح دسترسی default میشه.

اگه کلاس، متغیر، متد یا کانستراکتور سطح دسترسیشون default باشه فقط داخل پکیج قابل دسترسی هستند، سطح دسترسی default معروف به package-private است.

class MyClass{ int number; MyClass(){ ... } R MyMethod(...){ ... } MyInnerClass{ ... } }

سطح دسترسی protected

کلیدواژه ی protected سطح دسترسی اعضا رو مانند default محدود به پکیج میکنه؛ با این تفاوت اعضایی که با این کلیدواژه تعریف میشن در کلاس هایی که از کلاسمون در خارج از پکیج ارث بری میکنند هم قابل دسترسی هستند.

این کلیدواژه برای کلاس های بیرونی قابل تعریف نیست.

MyClass{ protected int number; protected MyClass(...){ ... } protected R myMethod(...){ ... } protected MyInnerClass{ ... } }

سطح دسترسی public

اگه کلاس، دیتافیلد، متد، کانستراکتور یا inner class با کلیدواژه ی public تعریف بشن در سرتاسر پروژه قابل دسترس هستند.

public MyClass{ public int number; public MyClass(...){ ... } public R myMethod(...){ ... } public MyInnerClass{ ... } }

خلاصه

- در جاوا چهارتا سطح دسترسی private, default, protected و public داریم.

کلیدواژه ی private متغیر یا تابع رو محدود به داخل کلاس میکنه.

- یک کلاس بیرونی رو نمیتونیم با private تعریف کنیم.

- سطح دسترسی default پیشفرض همه ی متغیر هاست هنگامی که هیچ کلیدواژه ی سطح دسترسی برای متغیر تعریف نکنیم سطح دسترسیش default است.

- سطح دسترسی protected مانند default است با این تفاوت اگه یک کلاسی ارثبری کرده و خارج از پکیج باشه متغیر در اونجا در دسترس است.

سطح دسترسی یک کلاس بیرونی نمیتونه protected باشه.

- متغیر هایی که با کلیدواژه ی public تعریف میشن در سرتاسر پروژه قابل دسترسی هستند.

arrow_drop_up
کپی شد!