ملیکا مرادی
ملیکا مرادی
خواندن ۲ دقیقه·۱ سال پیش

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

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

  1. متغیر (Variable)
  2. متد (Methods)
  3. کلاس (Class)

واژه Final در زبان جاوا اگر همراه متغیری باشه، مقدار اولیه اون متغیر، ثابت هست و دیگه تغییر نمیکنه.

اگر برای متد تعریف بشه، اون متد دیگه قابل override یا همان بازنویسی مجدد نیست، رفتارش ثابته و قابلیت ویرایش در کلاس فرزند رو نداره.

در نهایت اگر final را برای کلاس به کار ببریم، قابلیت وراثت خودشو از دست میده و دیگه امکان ایجاد کلاس فرزند براش وجود نداره.

پس به طور کلی میتونیم بگیم در زبان Java، کلید واژه final برای محدود کردن به کار می ره و در سه زمینه متغیر، متد و کلاس قابل استفاده است.

(در ادامه مثال و توضیحات بیشتری گذاشتم)

مثال و توضیحات بیشتر:

  • متغیر (Variable)
    اگر متغیری را با کلیدواژه ی final علامت گذاری شود، مقدار متغیر برای همیشه ثابته و کامپایلر به عنوان یک ثابت/constant در نظر میگیرد.
    مثال:

خروجی:

Compile Time Error :)

طبق مثال مقدار متغیر final بعد از تخصیص، دیگه قابل تغییر نیست و کد بالا به محض کامپایل خطا نمایش میده.

  • متد (Methods)
    اگر متدی را به صورت final تعریف کنیم، در این صورت بدنه یا پیاده سازی آن هیچگاه قابل تغییر نیست.

مثال:

خروجی:

Compile Time Error

طبق مثال بالا متدی که در کلاس پدر با final تعریف شده، در بدنه ی کلاس فرزند قابل بازنویسی نیست و کامپایلر به محض برخورد، خطا صادر میکنه.

  • کلاس (Class)

زمانی که کلاسی رو با کلیدواژه ی final اعلان میکنیم، کلاس کاملا قابلیت وراثت را از دست میده.یعنی هیچ کلاسی دیگه نمیتونه از اون ارث بری داشته باشه.

مثال:

خروجی:

Compile Time Error

به دلیل اینکه کلاس Animal با کلمه ی کلیدی final علامت گذاری شده، کلاس Lion نمیتونه از اون ارث ببره و با توجه به مثال بالا ارث بری از اون باعث رخداد خطای Compile Time Error میشه.



فعلا

کلیدواژه‌ی finalfinaljavajava coreمتغییر
من ملیکام :) برنامه نویس back-end java هستم. برای ارتباط بیشتر میتونید بهم ایمیل بدید :) melika.moradi.deh@gmail.com
شاید از این پست‌ها خوشتان بیاید