پرش به محتوای اصلی
مسیر تخصصی جاوا و Spring
درخواست پروژهارتباط با ماراهنما
جاواپرو v1.2.14یاد بگیر، تمرین کن، حرفه‌ای بساز
خانهدوره‌هاآموزش رایگانوبلاگمدرس‌هاخدمات
خانه♨️ جلسه بیست و یکم - کلمه کلیدی final
آموزش برنامه نویسی »

♨️ جلسه بیست و یکم - کلمه کلیدی final

کلمه کلیدی final برای محدود کردن کاربر استفاده می شود.کلمه کلیدی final جاوا را می توان در همه زمینه ها استفاده کرد.

۷ دقیقه مطالعهآموزش برنامه نویسی »آموزش جاوا و انجام پروژه های برنامه نویسی
♨️ جلسه بیست و یکم - کلمه کلیدی final
محتوای منتخب جاواپرو

خلاصه مطلب

کلمه کلیدی final برای محدود کردن کاربر استفاده می شود.کلمه کلیدی final جاوا را می توان در همه زمینه ها استفاده کرد.
نوع محتوامقاله آموزشی
موضوعآموزش برنامه نویسی »
زمان مطالعه۷ دقیقه
آخرین ویرایش۱۴ آذر ۱۴۰۰

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

دوره رایگان مقدماتی زبان جاوا
دوره رایگان مقدماتی زبان جاوا

کلمه کلیدی final برای محدود کردن کاربر استفاده می شود. کلمه کلیدی final جاوا را می توان در همه زمینه ها استفاده کرد. کلمه کلیدی final در موارد زیر استفاده می شود:

1. کلاس 2 .متدها 3 .متغیرها

تعریف یک متغیر از نوع final

نحوه نوشتن یک متغیر از نوع فاینال بصورت زیر است:

final int variable;

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

package javalike ; public class Rahman { final int a = 5; public static void main(String[] args) { Rahman r = new Rahman(); r.a = 6; System.out.println(r.a); } }

خروجی:

خطای کامپایل!!!!!!

✔ همان طور که گفتیم یک متغیر وقتی از نوع final تعریف و مقداردهی اولیه می شود در تمام بخش های برنامه اجازه تغییر مقدار متغیر را نخواهیم داشت. در این کد برنامه چون متغیر a از نوع final و مقدار اولیه ان 5 بوده و در متد main قصد تغییر مقدار این متغیر را داشته ایم برنامه خطای کامپایل داده.

پس اگر ما یک متغیر را از نوع final تعریف کردیم ،دیگه در بخش های برنامه نمی توانیم مقدار متغیر را تغییر دهیم. به این متغیری که نوع final تعریف بشه به اصلاح به ان متغیر ،متغیر ثابت یا constant می گویند.

تعریف یک متد از نوع final نحوه نوشتن یک متد از نوع فاینال بصورت زیر است:

public final void myMethod(){ }

✔ اگر شما یک متد را از نوع final تعریف کردید،دیگر این متد را نمی توان override کرد!!!

میدونم این مفهوم ناآشناست ، صرفا جهت مقدمه چینی گفتم، در جلسه بعد مفصل در مورد override صحبت خواهیم کرد پس مثال و توضیح را به جلسه ای که کاملا مربوط به override هستش واگذار میکنیم. این override خوب یادتون باشه پس :-) وقتی یک کلاس را final تعریف میکنم! اگر شما یک کلاس را final تعریف کنید ،دیگر نمی توانید آن را به ارث ببرید!

package javalike;final class Bike { } class Honda1 extends Bike { void run() { System.out.println("running safely with 100kmph"); } public static void main(String args[]) { Honda1 honda = new Honda(); honda.run(); } }
خطای کامپایل!!!!!!!!!

✔ در اینجا چون کلاس Bike از نوع final هستش دیگه نمی توان این کلاس توسط کلاس دیگر به ارث برده شود.

آیا متدی که از نوع final تعریف شود را می توان به ارث برد؟ پاسخ: بله،متد final را می توان به ارث برد اما نمی توان آن را override کرد.

package javalike ; class Bike { final void run() { System.out.println("running..."); } } class Honda2 extends Bike { public static void main(String args[]) { new Honda2().run(); } }

✔ در اینجا کلاس Honda2 کلاس Bike را به ارث برده است.

✔ متد run درون کلاس Bike از نوع final هستش. همان طور که میدونید کلاس Honda2 کلاس Bike را به ارث برده است یعنی به تمام متدها و متغیرهای آن دسرسی دارد.و در این جا با ساختن شی از کلاس Honda2 متد run را با وجود final بودن صدا زدیم و هیچ مشکلی پیش نیامد. آیا می شود یک متغیر از نوع final را هنگام تعریف خالی یا بدون مقدار ایجاد کنیم؟ بله.تنها در یک صورت می شود یک متغیر از نوع final بدون مقدار دهی اولیه ایجاد کرد،وقتی متغیر خود را از نوع final تعریف کردید در سازنده کلاس خود آن متغیر را مقدار دهی کنید.

package javalike ; public class Rahman { final int a; Rahman() { a = 5; } public static void main(String[] args) { Rahman r = new Rahman(); System.out.print ln(r.a); } }

خروجی:

5

✔ اینجا متغیر a را از نوع final بدون مقدار دهی اولیه تعریف کرده ایم.برای این که برنامه ما دچار خطای کامپایل نشود تنها راه ما برای مقدار دهی به متغیر از نوع final درون سازنده کلاس هستش که در اینجا متغیر a در سازنده کلاس مقدار 5 را بهش نسبت داده ایم.

✔ این نکته را در نظر بگیرید تنها در صورتی میشود یک متغیر از نوع final را درون سازنده کلاس مقداردهی کرد که مقدار اولیه متغیر final ما خالی باشد.همان طور که می بینید متغیر a هنگام تعریف به ان هیچ مقداری داده نشده و به اصلاح خالی می باشد.

وقتی یک متغیر هم از نوع final باشد هم از نوع sataic: بله.اگر متغیر ما از نوع final و static و همچنین هنگام تعریف آن را مقدار دهی اولیه نکردیم و به اصلاح خالی بود دیگر نمی توان در سازنده کلاس آن را مقدار دهی کرد و تنها راه مقدار دهی آنها این هست که در یک بلوک استاتیک آن متغیر را مقدار دهی کنیم!!!

• دوستان اینو در نظر بگیرید بعضی از مفاهیم کاربرد و استفاده زیاد نداره مثل همین عنوان اما حالا امکان داره در برنامه خود به ان برخورد کنید گفتمش وگرنه من خودم هم هیچ علاقه ای بهش ندارم :-)

یادآوری: نحوه نوشتن بلوک استاتیک بصورت زیر است:

static { }

✔ ابتدا کلمه استاتیک بعد دو بلوک یا آکولاد {} را باز و بسته می کنیم و می توانیم دستورات خود را درون بدنه و دربین دو آکولاد بنویسیم.

package javalike ; public class Rahman { final static int a; static { a = 5; } public static void main(String[] args) { Rahman r = new Rahman(); System.out.println(r.a); } }

خروجی:

5

✔ در اینجا متغیر a هم از نوع final هستش و هم از نوع static ،چون هنگام تعریف مقدار دهی اولیه نشده و خالی می باشد،تنها راه مقدار دهی آن در بخشی از برنامه این است که درون یک بلوک استاتیک آن را مقداردهی کنیم.

میخواستم فقط ی سوالی کرده باشم و این که آیا میشه یک سازنده را از نوع final تعریف کنیم؟! 😁 خیر آرزوی پیروزی برای شما دوست عزیز :-)

آموزش آسان و ساده زبان برنامه نویسی جاوا
آموزش آسان و ساده زبان برنامه نویسی جاوا

این جلسه آموزشی را بصورت مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید) لینک دانلود

مشاهده لینک اصلی
تصویر مرتبط با ♨️ جلسه بیست و یکم - کلمه کلیدی final
مشاهده لینک اصلی
تصویر مرتبط با ♨️ جلسه بیست و یکم - کلمه کلیدی final
عضو کانال تلگرام
برچسب‌هاآموزش برنامه نویسی »آموزش زبان جاوا »آموزش جاوا »کلمه کلیدی finalکلمه کلیدی final در جاوانحوه نوشتن یک متد از نوع فاینالوقتی یک کلاس را final تعریف میکنمنحوه نوشتن بلوک استاتیکآموزش جاوادانلود کتاب ساده اموزش جاواfinal در جاوازبان جاواجاوامتغیر از نوع finalکلاس از نوع final
دسترسی سریع

فهرست مطلب

۱فهرست جلسات دوره مقدماتی جاوا۲مقدمه اول | جاوا چیست؟۳مقدمه دوم | تاریخچه جاوا۴مقدمه سوم | ویژگی‌های زبان جاوا۵جلسه اول | راهنمای دانلود و نصب JDK۶جلسه دوم | اجرای یک برنامه جاوا در Notepad۷جلسه سوم | راهنمای دانلود و نصب Eclipse۸جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse۹جلسه پنجم | متغیر ها در جاوا۱۰جلسه ششم | تغییر فونت محیط Eclipse۱۱جلسه هفتم | عملگر‌های پایه ای جاوا۱۲جلسه هشتم | دستورات شرطی۱۳جلسه نهم | اشیا و کلاس ها۱۴جلسه دهم | ورودی گرفتن۱۵جلسه یازدهم | حلقه‌های کنترلی۱۶جلسه دوازدهم | کلمه کلیدی static۱۷جلسه سیزدهم | کلاس Math۱۸جلسه چهاردهم | کلاس String۱۹جلسه پانزدهم | آرایه‌های یک بعدی۲۰جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)۲۱جلسه هفدهم | متدها در جاوا۲۲جلسه هجدهم | کلمه کلیدی this۲۳جلسه نوزدهم | کلاس‌های داخلی۲۴جلسه بیستم | ارث بری در جاوا۲۵جلسه بیست و یکم | کلمه کلیدی final۲۶جلسه بیست و دوم | Overriding در جاوا۲۷جلسه بیست و سوم | Polymorphism( چند ریختی)۲۸جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید۲۹جلسه بیست و پنجم | Abstraction( انتزاع)۳۰جلسه بیست و ششم | Encapsulation(کپسوله سازی)۳۱جلسه بیست و هفتم | اینترفیس (Interface)۳۲جلسه بیست و هشتم | کلاس Random۳۳جلسه بیست و نهم | Exceptions (استثناها)۳۴جلسه سی ام | کار با فایل در جاوا(Files and I/O)۳۵جلسه سی و یکم | کلاس InputStreamReader۳۶جلسه سی و دوم | کلاس OutputStreamWriter۳۷جلسه سی و سوم | کلاس BufferedReader۳۸جلسه سی و چهارم | کلاس BufferedWriter۳۹جلسه سی و پنجم | Serialization در جاوا۴۰جلسه سی و ششم | چندنخی(Multithreading)۴۱جلسه سی و هفتم | آرایه دو بعدی در جاوا۴۲جلسه سی و هشتم | کلاس ArrayList در جاوا۴۳جلسه سی و نهم | Non Access Modifier در جاوا
ادامه مسیر

پیشنهاد جاواپرو

موضوع را با آموزش‌های مرتبط ادامه دهید و نکته‌های کاربردی را در مسیر خود نگه دارید

مشاهده دوره‌ها
مطالب پیشنهادی

ادامه مطالعه

xدسته‌بندی نشده
۱۱ دی ۱۳۹۸ مطالعه کوتاه

x

پادکست شماره 3 – راه های کسب درآمد از برنامه نویسی

مطالعه مطلب
پادکست شماره 3 - راه های کسب درآمد از برنامه نویسیپادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 3 - راه های کسب درآمد از برنامه نویسی

در این پادکست برنامه نویسی به شیوه ها و راه های کسب درآمد از برنامه نویسی پرداخته ایم. یک کاغذ و قلم بردارید و به پادکست گوش بدید.

مطالعه مطلب
پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟پادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟

در این پادکست برنامه نویسی یاد میگیریم که چگونه وارد فضای برنامه نویسی شویم و تخصص برنامه نویسی را به دست آوریم.

مطالعه مطلب
جاواپرومرجع تخصصی یادگیری و توسعهٔ جاوا

تجربه‌ای منظم، ساده و حرفه‌ای برای یادگیری عمیق جاوا، Spring و مهندسی نرم‌افزار؛ قابل استفاده در موبایل، تبلت و دسکتاپ

یادگیری

همه دوره‌هاآموزش رایگانمسیر یادگیریمدرس‌ها

جاواپرو

درباره ماخدمات تخصصیدرخواست پروژهبلاگ فنی

پشتیبانی

تماس با ماپرسش‌های متداولقوانین و حریم خصوصیبروزرسانی‌های جاواپروثبت تیکت
خرید امنپرداخت فقط در درگاه رسمیپشتیبانی آموزشیمسیر ارتباط شفاف و پیگیری‌پذیردسترسی پایداروب‌اپ واکنش‌گرا روی همه دستگاه‌ها
© ۱۴۰۵ جاواپرو؛ همه حقوق محفوظ استتوسعه توسط پایاپینگ
خانهدوره‌هاسبد