تفاوت کلیدی - استاتیک در مقابل نهایی در جاوا
هر زبان برنامه نویسی یک نحو خاص دارد. برنامه نویس باید در هنگام نوشتن برنامه از این نحوها پیروی کند. کلمات کلیدی زبان های برنامه نویسی با توجه به وظایف معانی خاصی دارند. آنها توسط زبان برنامه نویسی ارائه می شوند و نمی توانند برای متغیرهای تعریف شده توسط کاربر، متدها، کلاس ها و غیره استفاده شوند. static و final دو کلمه کلیدی در جاوا هستند. این مقاله به تفاوت بین static و final در جاوا می پردازد. تفاوت اصلی بین static و final در جاوا این است که static برای تعریف عضو کلاس استفاده می شود که می تواند مستقل از هر شی از کلاس استفاده شود در حالی که final برای اعلام یک متغیر ثابت یا متدی که نمی تواند نادیده گرفته شود یا کلاسی که نمی تواند استفاده شود استفاده می شود. نمی تواند ارثی باشد
ایستا در جاوا چیست؟
یک کلاساز اعضای داده (ویژگی ها) و متدها تشکیل شده است. برای فراخوانی متدها باید یک شی از آن کلاس خاص وجود داشته باشد. هنگامی که یک متد به عنوان ثابت اعلام می شود، نیازی به ایجاد یک شی برای فراخوانی آن متد نیست. متد را می توان با استفاده از نام کلاس فراخوانی کرد. به برنامه زیر مراجعه کنید.
شکل 01: برنامه جاوا با متغیرهای استاتیک و روش استاتیک
طبق برنامه فوق، کلاس A شامل متغیر عدد و روش نمایش است. هر دو عضو ثابت هستند. بنابراین نیازی به ایجاد یک شی برای دسترسی به متغیر عدد و روش نمایش نیست. برنامه نویس می تواند مستقیماً نام کلاس را برای چاپ شماره و فراخوانی نمایشگر متد بنویسد. بنابراین، نیازی به نمونه سازی یک شی نیست.اگر متغیر عدد و روش نمایش غیر ایستا باشند، باید یک شی از نوع A وجود داشته باشد.
شکل 02: استفاده از بلوک استاتیک
برنامه فوق حاوی بلوک استاتیک و متد اصلی است. بلوک استاتیک زمانی فراخوانی می شود که کلاس بارگذاری شود. بنابراین دستور در بلوک استاتیک قبل از دستور در بلوک اصلی اجرا می شود. اگر بلوک های ثابت زیادی وجود داشته باشد، آنها به ترتیب اجرا می شوند.
نهایی در جاوا چیست؟
در برنامه، متغیرهای مختلفی می توانند وجود داشته باشند. اگر متغیری به عنوان int x=1 وجود داشته باشد; بعداً در برنامه، آن مقدار متغیر را می توان به مقدار دیگری تغییر داد. متغیری که به عنوان نهایی اعلام شده و با یک مقدار مقداردهی اولیه می شود را نمی توان بعداً در برنامه تغییر داد.
شکل 03: برنامه با متغیر نهایی و وراثت
طبق برنامه فوق، x یک متغیر نهایی است. به آن مقدار 5 اختصاص داده شده است. نمی توان مقدار دیگری را تغییر داد زیرا به عنوان نهایی اعلام شده است. جاوا از برنامه نویسی شی گرا (OOP) پشتیبانی می کند. یکی از ستون های OOP یک پلی مورفیسم است. یکی از انواع پلی مورفیسم غالب است. کلاس A دارای روش نمایش است. کلاس B کلاس A را گسترش می دهد و روش نمایش خود را دارد. هنگام ایجاد یک شی از نوع B و فراخوانی روش نمایش، "B" به عنوان خروجی چاپ می شود. روش نمایش کلاس A با روش نمایش کلاس B لغو می شود.
اگر برنامه نویس از نادیده گرفتن یک روش اجتناب کند، می تواند از کلمه کلیدی نهایی برای آن روش استفاده کند. اگر روش نمایش در کلاس A نهایی باشد، متد نمایش در B خطا می دهد زیرا آن متد قابل بازنویسی نیست.
شکل 04: کلمه کلیدی نهایی در روش
یکی دیگر از ارکان OOP، وراثت است. به استفاده مجدد از کد موجود کمک می کند. کلاس جدید می تواند از کلاس موجود گسترش یابد و از اعضای داده و متدهای کلاس موجود استفاده کند. اگر نیاز به توقف ارث بردن یک کلاس باشد، برنامه نویس می تواند از کلمه کلیدی "نهایی" استفاده کند. به برنامه زیر مراجعه کنید.
شکل 05: کلمه کلیدی نهایی در کلاس
طبق برنامه فوق کلاس A نهایی اعلام می شود. وقتی کلاس B A را گسترش می دهد، یک خطا می دهد زیرا کلاس A به عنوان نهایی اعلام می شود. نمی توان آن را توسط کلاس های دیگر به ارث برد.
شباهت بین استاتیک و نهایی در جاوا چیست؟
هر دو استاتیک و نهایی کلمات کلیدی در جاوا هستند
تفاوت بین استاتیک و نهایی در جاوا چیست؟
استاتیک در مقابل نهایی در جاوا |
|
کلید کلیدی استاتیک نشان می دهد که یک متغیر عضو یا متد را می توان بدون نیاز به نمونه ای از کلاسی که به آن تعلق دارد دسترسی داشت. | کلمه کلیدی نهایی به نهادی اشاره دارد که فقط یک بار می توان آن را اختصاص داد. |
متغیرها | |
متغیرهای استاتیک را می توان مجدداً مقداردهی کرد. | متغیرهای نهایی را نمی توان مجدداً مقداردهی کرد. |
روش | |
را می توان با روش های استاتیک دیگر فراخوانی کرد و فقط به اعضای ثابت کلاس دسترسی داشت. | روش های نهایی را نمی توان نادیده گرفت. |
کلاس | |
شیء کلاس استاتیک نمی تواند ایجاد شود. فقط شامل اعضای ثابت است. | کلاس نهایی را نمی توان توسط کلاس های دیگر به ارث برد. |
Block | |
کلید کلیدی ثابت را می توان در یک بلوک استفاده کرد. | کلید کلیدی نهایی با بلوک استفاده نمی شود. |
خلاصه - استاتیک در مقابل نهایی در جاوا
این مقاله به دو کلمه کلیدی در جاوا مانند static و final پرداخته است. تفاوت بین static و final در جاوا این است که static برای تعریف عضو کلاس استفاده می شود که می تواند مستقل از هر شی از کلاس استفاده شود در حالی که final برای اعلام یک متغیر ثابت یا متدی که نمی تواند override شود یا کلاسی که نمی تواند استفاده شود استفاده می شود. ارثی باشد