کلید واژه final در جاوا (Final keyword)

در این جلسه تیم کدگیت را با آموزش کلید واژه final در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. شی گرایی در جاوا
  2. Constructor در جاوا
  3. ارث بری در جاوا
  4. Override در جاوا
  5. آشنایی با متد

کلید واژه final در جاوا

کلید واژه final در مواقعی استفاده میشود که ما میخواهیم کاربر را محدود کنیم. این نوع محدودیت را میتوان در زمینه های مختلفی اعمال کرد:

  1. محدودیت متغیر
  2. محدودیت متد
  3. محدودیت کلاس

متغیر final

وقتی ما از کلید واژه final در جاوا برای یک متغیر استفاده میکنیم باعث میشود متغیر فقط یک بار مقدار دهی شود. ما میتوانیم یک فیلد را final تعریف کنیم. در این صورت دو حالت به وجود می آید:

  1. فیلد مورد نظر را مستقیم مقدار دهی کنیم مانند final int x = 10;
  2. فیلد مورد نظر را مستقیم مقدار دهی نکنیم در این صورت فقط میتوان آن را در constructor مقدار دهی کرد.

کد زیر را ببینید:

ما کلاسی به نام Bike_Limit ساختیم و فیلدی به نام speedlimit را به صورت مستقیم مقدار دهی کردیم. سپس متدی به نام run نوشتیم و در آن متد نیز متغیر را تغیر داریم(البته این قسمت از کد را کامنت کردیم)! اگر این کد را اجرا کنید برنامه خطای کامپایل میدهد (چون متغیر final را یک بار میتوان مقدار دهی کرد)!!!

متد final

وقتی متدی را final تعریف میکنیم آن متد را نمیتوان override کرد. این محدودیت کلید واژه final بر روی متد است. مثال زیر را ببینید:

ما کلاسی به نام Bike نوشتیم و کلاس دیگری به نام Honda را فرزند Bike قرار دادیم. متدی به نام Run در Bike نوشتیم که final نیز است. این متد را در Honda نیز نوشتیم برای override کردن که البته آن را کامنت کردیم. کد بالا را اجرا کنید با خطا روبرو میشوید زیرا نباید متد final که نوشتیم override شود.

کلاس final

کلید واژه final در جاوا را اگر برای کلاس به کار ببریم دیگر نمیتوانیم آن کلاس را extends کنیم. در کد زیر مثال ساده ای زدیم که در صورت اجرا خطای کامپایل میدهد(چون کلاس final را extends کردیم)!!

پسورد: www.codegate.ir

 

دسته : java, آموزش قدم به قدم جاوا, جاوا, شی گرایی در جاوا

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz