Java Modifiers
14 اسفند 1403
ارسال شده توسط سمیرا خانی
13 بازدید

در جاوا، مودیفایرها (Modifers) کلمات کلیدی هستند که برای تعریف دسترسی، رفتار یا ویژگیهای دیگر کلاسها، متدها، متغیرها و کانستراکتورها استفاده میشوند. این مودیفایرها نقش کلیدی در کنترل سطوح دسترسی، وراثت و سایر ویژگیها دارند. در اینجا توضیحی از مهمترین مودیفایرها در جاوا آمده است:
1. مودیفایرهای دسترسی
این مودیفایرها دسترسی به کلاسها، متدها، متغیرها و کانستراکتورها را کنترل میکنند.
public
: کلاس، متد یا متغیر از هر جای برنامه قابل دسترسی است.private
: متد یا متغیر تنها در همان کلاسی که تعریف شده قابل دسترسی است.protected
: متد یا متغیر در همان بسته (پکیج) یا در کلاسهای زیرمجموعه (در پکیجهای مختلف) قابل دسترسی است.default
(بدون مودیفایر): اگر هیچ مودیفایری مشخص نشود، به صورت پیشفرض دسترسی به آن تنها در داخل همان بسته (پکیج) ممکن است (دسترسپذیری پکیج-پرایوت).
2. مودیفایرهای غیر دسترسی
این مودیفایرها رفتار کلاسها، متدها و متغیرها را در زمینههایی مانند وراثت، عدم تغییرپذیری و ویژگیهای دیگر تغییر میدهند.
static
: مربوط به کلاس است نه به نمونهها (شیءها)ی کلاس. این مودیفایر برای متغیرها و متدها استفاده میشود.final
: نشاندهنده این است که کلاس نمیتواند ارثبری شود، متد نمیتواند بازنویسی شود یا متغیر نمیتواند مقدار جدیدی بگیرد.abstract
: برای تعریف کلاسی یا متدی که نمیتوان به طور مستقیم از آن استفاده کرد و باید در کلاسهای زیرمجموعه پیادهسازی شود.synchronized
: برای متدها استفاده میشود تا تنها یک نخ (Thread) در هر زمان بتواند آن را اجرا کند.volatile
: تضمین میکند که مقدار یک متغیر همیشه از حافظه اصلی خوانده و نوشته شود، نه از حافظه کش نخ.transient
: از سریال شدن یک متغیر جلوگیری میکند.native
: نشاندهنده این است که یک متد در زبان دیگری مانند C یا C++ پیادهسازی شده است.strictfp
: تضمین میکند که محاسبات اعشاری بهصورت دقیق و مستقل از پلتفرم انجام شوند.
3. مودیفایرها برای کلاسها
- مودیفایرهای کلاس:
public
: کلاس از هرجای دیگری قابل دسترسی است.final
: کلاس نمیتواند ارثبری شود.abstract
: کلاس نمیتواند بهطور مستقیم نمونهسازی شود اما میتواند توسط کلاسهای دیگر ارثبری شود.strictfp
: تضمین میکند که محاسبات اعشاری در کلاس بهطور دقیق انجام شود.
4. مودیفایرها برای متدها
- مودیفایرهای متد:
public
: متد از هرجای دیگری قابل دسترسی است.private
: متد فقط در همان کلاس قابل دسترسی است.protected
: متد در همان پکیج یا در کلاسهای زیرمجموعه قابل دسترسی است.abstract
: متد هیچ پیادهسازی ندارد و باید در یک کلاس زیرمجموعه پیادهسازی شود.final
: متد نمیتواند بازنویسی شود.synchronized
: تنها یک نخ میتواند در هر زمان متد را اجرا کند.native
: متد در زبان دیگری مانند C یا C++ پیادهسازی شده است.
5. مودیفایرها برای متغیرها
final
: متغیر نمیتواند مقدار جدیدی بگیرد.static
: متغیر مربوط به کلاس است، نه نمونههای کلاس.volatile
: تضمین میکند که مقدار متغیر همیشه از حافظه اصلی خوانده و نوشته شود.
مودیفایرها بخش مهمی از برنامهنویسی جاوا هستند زیرا به کمک آنها میتوان رفتار و دسترسی به اجزای کد را کنترل کرده و ویژگیهایی مانند وراثت، همزمانی (Concurrency) و کنترل دسترسی را تحت تأثیر قرار داد.
window.__oai_logHTML?window.__oai_logHTML():window.__oai_SSR_HTML=window.__oai_SSR_HTML||Date.now();requestAnimationFrame((function(){window.__oai_logTTI?window.__oai_logTTI():window.__oai_SSR_TTI=window.__oai_SSR_TTI||Date.now()}))
دیدگاهتان را بنویسید