در زبان java کلیدواژه ی final برای محدود کردن بکار میره. این کلیدواژه در سه زمینه زیر قابل استفاده است:
واژه Final در زبان جاوا اگر همراه متغیری باشه، مقدار اولیه اون متغیر، ثابت هست و دیگه تغییر نمیکنه.
اگر برای متد تعریف بشه، اون متد دیگه قابل override یا همان بازنویسی مجدد نیست، رفتارش ثابته و قابلیت ویرایش در کلاس فرزند رو نداره.
در نهایت اگر final را برای کلاس به کار ببریم، قابلیت وراثت خودشو از دست میده و دیگه امکان ایجاد کلاس فرزند براش وجود نداره.
پس به طور کلی میتونیم بگیم در زبان Java، کلید واژه final برای محدود کردن به کار می ره و در سه زمینه متغیر، متد و کلاس قابل استفاده است.
(در ادامه مثال و توضیحات بیشتری گذاشتم)
مثال و توضیحات بیشتر:
خروجی:
Compile Time Error :)
طبق مثال مقدار متغیر final بعد از تخصیص، دیگه قابل تغییر نیست و کد بالا به محض کامپایل خطا نمایش میده.
مثال:
خروجی:
Compile Time Error
طبق مثال بالا متدی که در کلاس پدر با final تعریف شده، در بدنه ی کلاس فرزند قابل بازنویسی نیست و کامپایلر به محض برخورد، خطا صادر میکنه.
زمانی که کلاسی رو با کلیدواژه ی final اعلان میکنیم، کلاس کاملا قابلیت وراثت را از دست میده.یعنی هیچ کلاسی دیگه نمیتونه از اون ارث بری داشته باشه.
مثال:
خروجی:
Compile Time Error
به دلیل اینکه کلاس Animal با کلمه ی کلیدی final علامت گذاری شده، کلاس Lion نمیتونه از اون ارث ببره و با توجه به مثال بالا ارث بری از اون باعث رخداد خطای Compile Time Error
میشه.
فعلا