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

بررسی کلیدواژه ی final

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

اگه یک متغیر یا دیتافیلد رو با کلیدواژه ی final تعریف کنیم مقدار متغیر در طی زمان اجرای برنامه تغییر نمیکنه.

راهنمایی

به طور قرارداد فیلد های ثابت یک کلاس رو با final و static تعریف میکنیم و اسمشونو با حروف بزرگ مینویسیم.

public class MyClass{ public static final String MY_STATIC_CONSTANT = "x"; private final int myFinalField = 0; public void myMethod(){ final double myFinalVariable = 32.131; } }

اگه یک متد رو با کلیدواژه ی final تعریف کنیم متد هنگام ارث بری قابل بازنویسی (Override) نیست.

public class MyClass{ public final void m(){ ... } }

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

توجه

کلاس های abstract و اینترفیس ها رو نمیتونیم با final تعریف کنیم.

public final class MyClass{ ... }

خلاصه

- کلیدواژه ی final یک کلاس، متد یا متغیر رو برامون نهایی میکنه.

- اگه یک متغیر رو با final تعریف کنیم مقدارش ثابت میمونه.

- اگه یک متد رو با final تعریف کنیم متد در وراثت قابل بازنویسی نیست.

- اگه کلاس رو با final تعریف کنیم دیگه نمیتونیم از کلاس ارث بری کنیم.

arrow_drop_up
کپی شد!