بررسی کلیدواژه ی final
کلیدواژه ی final یک کلاس، متد یا متغیر رو برامون نهایی میکنه؛ اگه کلاس رو با final تعریف کنیم، نمیتونیم از کلاس ارث بری کنیم، اگه متد رو با final تعریف کنیم، نمیتونیم متد رو بازنویسی (Override) کنیم و اگه یک متغیر رو با final تعریف کنیم، مقدارش ثابته و تغییر نمیکنه.
تعریف کلاس final
در مثال زیر یک کلاس رو با کلیدواژه ی final تعریف کردیم
public final class MyFinalClass{
}
توجه
کلاس های abstract و اینترفیس ها رو نمیتونیم با final تعریف کنیم.
تعریف متد final
در مثال زیر یک متد رو با کلیدواژه ی final تعریف کردیم.
public class MyClass{
public final void myFinalMethod(){
}
}
توجه
متد های ابستراکت رو نمیشه با final تعریف کنیم.
تعریف متغیر final
در مثال زیر متغیر ها رو با کلیدواژه ی final تعریف کردیم.
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 و static تعریف میکنیم و اسمشونو با حروف بزرگ مینویسیم.
خلاصه
- کلیدواژه ی final یک کلاس، متد یا متغیر رو برامون نهایی میکنه.
- اگه کلاس رو با final تعریف کنیم دیگه نمیتونیم از کلاس ارث بری کنیم.
- اگه یک متد رو با final تعریف کنیم متد در وراثت قابل بازنویسی نیست.
- اگه یک متغیر رو با final تعریف کنیم مقدارش ثابت میمونه.