final
«final در جاوا» یعنی «تغییرناپذیر». «تغییرناپذیر (Immutable)» یعنی مقدار یا رفتار عوض نمی شود. با final می توان «متغیر (Variable)»، «کلاس (Class)»، یا «متد (Method)» را قفل کرد. بنابراین، از خرابکاری های ناخواسته جلوگیری می شود.
تعریف و کاربرد final
final یک «تغییرگر (Modifier)» غیر دسترسی است. روی کلاس، ویژگی، و متد می آید. هدفش جلوگیری از تغییر است؛ مانند جلوگیری از ارث بری یا بازنویسی.
- اگر مقدار همیشه ثابت است، final بگذار.
- اگر کلاسی نباید ارث پذیر باشد، final کن.
- اگر متدی نباید override شود، final کن.
public class Main {
final int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25;
System.out.println(myObj.x);
}
}
نکات مهم
- final روی کلاس یعنی ارث بری ممنوع.
- final روی متد یعنی override ممنوع.
- final روی ویژگی یعنی انتساب مجدد ممنوع.
نکته: برای مرور کامل تغییرگرها، صفحه modifiers را ببین.
هشدار: پس از مقداردهی نهایی، دیگر مقدار را تغییر نده؛ خطا می شود.
جمع بندی سریع
- final یعنی تغییرناپذیر.
- روی کلاس، متد، و ویژگی می آید.
- برای مقادیر ثابت مثل PI عالی است.
- از override و ارث بری ناخواسته جلوگیری می کند.