💎 کلیدواژه final
🔆کلیدواژه فاینال برای محدود کردن کاربرد یک متغیر، متود یا یک کلاس به کار میرود که البته در هر کدام از این موارد، کاربرد متفاوت است.
⭕️ اگر یک متغیر را فاینال تعریف کنیم، به این معناست که پس از مقدار دهی اولیه، مقدار متغیر دچار تغییرات نخواهد شد و مقدار دهی دوباره آن، خطای کمپایلر را به همراه خواهد داشت:
#final #keywords
@pieceJava
🔆کلیدواژه فاینال برای محدود کردن کاربرد یک متغیر، متود یا یک کلاس به کار میرود که البته در هر کدام از این موارد، کاربرد متفاوت است.
⭕️ اگر یک متغیر را فاینال تعریف کنیم، به این معناست که پس از مقدار دهی اولیه، مقدار متغیر دچار تغییرات نخواهد شد و مقدار دهی دوباره آن، خطای کمپایلر را به همراه خواهد داشت:
final int length = 5;⭕️ اگر یک کلاس را فاینال تعریف کنیم، توسط هیچ کلاسی قابل ارث بری نخواهد بود (فاینال تعریف کردن یک کلاس به معنی Immutable کردن این کلاس نیست. زیرا فقط از ارث بری شدن جلوگیری میکند.)
final class Test{ }
⭕️ اگر یک متد را فاینال تعریف کنیم، توسط هیچ زیرکلاسی قابل اورراید کردن نخواهد بود. یا به عبارتی بدنه متد تحت هیچ شرایطی در زیرکلاس ها تغییر نخواهد کرد.final void method(){ }
⭕️ اگر یک آرگومان را فاینال تعریف کنیم، این به این معناست که مقدار آن در بدنه متد قابل تغییر نمیباشد.public void methodWithFinalArguments(final int x) {
x=1;
}
برای مثال، تکه کد بالا خطای کمپایلر را خواهد داشت.#final #keywords
@pieceJava
👍3