فهرست مطالب:

آیا شیء Date در جاوا قابل تغییر است؟
آیا شیء Date در جاوا قابل تغییر است؟

تصویری: آیا شیء Date در جاوا قابل تغییر است؟

تصویری: آیا شیء Date در جاوا قابل تغییر است؟
تصویری: شماره 35 قابل تغییر در مقابل رشته غیرقابل تغییر در جاوا 2024, آوریل
Anonim

آ شیء قابل تغییر به سادگی یک است هدف - شی که بعد از ساخت می تواند حالت خود را تغییر دهد. به عنوان مثال، StringBuilder و تاریخ هستند اشیاء قابل تغییر ، در حالی که رشته و عدد صحیح تغییرناپذیر هستند اشیاء . یک کلاس ممکن است دارای یک شیء قابل تغییر به عنوان یک میدان

به همین ترتیب، آیا کلاس Date در جاوا تغییر ناپذیر است؟

تاریخ نیست تغییرناپذیر ، باید یک کپی دفاعی از آن تهیه کنیم جاوا . استفاده کنید. تاریخ در حالی که یک مرجع به این متغیر نمونه برمی گرداند. بیایید یک فرد فرضی بسازیم کلاس که دارای نام و dob به عنوان تنها دو عضو است.

پس از آن، سوال این است که شیء تغییرناپذیر در جاوا چیست؟ اشیاء تغییرناپذیر هستند اشیاء که تغییر نمی کند شما آنها را می سازید، سپس نمی توانید آنها را تغییر دهید. آ شیء تغییرناپذیر جاوا باید تمام فیلدهای آن فیلدهای نهایی داخلی و خصوصی باشند. نباید هیچ تنظیم کننده ای را اجرا کند. به سازنده‌ای نیاز دارد که برای هر فیلد یک مقدار بگیرد.

از این رو، آیا اشیا در جاوا قابل تغییر هستند؟

اشیاء تغییرناپذیر ساده هستند اشیاء ایالت که ( اشیاء داده) پس از ساخت نمی تواند تغییر کند. نمونه هایی از اشیاء تغییرناپذیر از JDK شامل رشته و عدد صحیح است. اشیاء قابل تغییر دارای فیلدهای قابل تغییر، اشیاء تغییرناپذیر هیچ فیلدی وجود ندارد که بتوان بعد از آن تغییر داد هدف - شی خلق شده است.

چگونه می توان یک شی را در جاوا قابل تغییر ساخت؟

کلاس تغییرناپذیر در جاوا

  1. کلاس را نهایی اعلام کنید تا قابل تمدید نباشد.
  2. همه فیلدها را خصوصی کنید تا دسترسی مستقیم مجاز نباشد.
  3. متدهای تنظیم کننده را برای متغیرها ارائه نکنید.
  4. تمام فیلدهای قابل تغییر را نهایی کنید تا مقدار آن فقط یک بار قابل تخصیص باشد.
  5. تمام فیلدها را از طریق سازنده ای که کپی عمیق را انجام می دهد، مقداردهی اولیه کنید.

توصیه شده: