تفاوت بین استاتیک و نهایی در جاوا

فهرست مطالب:

تفاوت بین استاتیک و نهایی در جاوا
تفاوت بین استاتیک و نهایی در جاوا

تصویری: تفاوت بین استاتیک و نهایی در جاوا

تصویری: تفاوت بین استاتیک و نهایی در جاوا
تصویری: از امتحان جا موندم | زندگی دانشجویی 2024, نوامبر
Anonim

تفاوت کلیدی - استاتیک در مقابل نهایی در جاوا

هر زبان برنامه نویسی یک نحو خاص دارد. برنامه نویس باید در هنگام نوشتن برنامه از این نحوها پیروی کند. کلمات کلیدی زبان های برنامه نویسی با توجه به وظایف معانی خاصی دارند. آنها توسط زبان برنامه نویسی ارائه می شوند و نمی توانند برای متغیرهای تعریف شده توسط کاربر، متدها، کلاس ها و غیره استفاده شوند. static و final دو کلمه کلیدی در جاوا هستند. این مقاله به تفاوت بین static و final در جاوا می پردازد. تفاوت اصلی بین static و final در جاوا این است که static برای تعریف عضو کلاس استفاده می شود که می تواند مستقل از هر شی از کلاس استفاده شود در حالی که final برای اعلام یک متغیر ثابت یا متدی که نمی تواند نادیده گرفته شود یا کلاسی که نمی تواند استفاده شود استفاده می شود. نمی تواند ارثی باشد

ایستا در جاوا چیست؟

یک کلاساز اعضای داده (ویژگی ها) و متدها تشکیل شده است. برای فراخوانی متدها باید یک شی از آن کلاس خاص وجود داشته باشد. هنگامی که یک متد به عنوان ثابت اعلام می شود، نیازی به ایجاد یک شی برای فراخوانی آن متد نیست. متد را می توان با استفاده از نام کلاس فراخوانی کرد. به برنامه زیر مراجعه کنید.

تفاوت بین استاتیک و نهایی در جاوا
تفاوت بین استاتیک و نهایی در جاوا

شکل 01: برنامه جاوا با متغیرهای استاتیک و روش استاتیک

طبق برنامه فوق، کلاس A شامل متغیر عدد و روش نمایش است. هر دو عضو ثابت هستند. بنابراین نیازی به ایجاد یک شی برای دسترسی به متغیر عدد و روش نمایش نیست. برنامه نویس می تواند مستقیماً نام کلاس را برای چاپ شماره و فراخوانی نمایشگر متد بنویسد. بنابراین، نیازی به نمونه سازی یک شی نیست.اگر متغیر عدد و روش نمایش غیر ایستا باشند، باید یک شی از نوع A وجود داشته باشد.

تفاوت بین استاتیک و نهایی در Java_Figure 02
تفاوت بین استاتیک و نهایی در Java_Figure 02

شکل 02: استفاده از بلوک استاتیک

برنامه فوق حاوی بلوک استاتیک و متد اصلی است. بلوک استاتیک زمانی فراخوانی می شود که کلاس بارگذاری شود. بنابراین دستور در بلوک استاتیک قبل از دستور در بلوک اصلی اجرا می شود. اگر بلوک های ثابت زیادی وجود داشته باشد، آنها به ترتیب اجرا می شوند.

نهایی در جاوا چیست؟

در برنامه، متغیرهای مختلفی می توانند وجود داشته باشند. اگر متغیری به عنوان int x=1 وجود داشته باشد; بعداً در برنامه، آن مقدار متغیر را می توان به مقدار دیگری تغییر داد. متغیری که به عنوان نهایی اعلام شده و با یک مقدار مقداردهی اولیه می شود را نمی توان بعداً در برنامه تغییر داد.

تفاوت بین استاتیک و نهایی در جاوا_شکل 03
تفاوت بین استاتیک و نهایی در جاوا_شکل 03

شکل 03: برنامه با متغیر نهایی و وراثت

طبق برنامه فوق، x یک متغیر نهایی است. به آن مقدار 5 اختصاص داده شده است. نمی توان مقدار دیگری را تغییر داد زیرا به عنوان نهایی اعلام شده است. جاوا از برنامه نویسی شی گرا (OOP) پشتیبانی می کند. یکی از ستون های OOP یک پلی مورفیسم است. یکی از انواع پلی مورفیسم غالب است. کلاس A دارای روش نمایش است. کلاس B کلاس A را گسترش می دهد و روش نمایش خود را دارد. هنگام ایجاد یک شی از نوع B و فراخوانی روش نمایش، "B" به عنوان خروجی چاپ می شود. روش نمایش کلاس A با روش نمایش کلاس B لغو می شود.

اگر برنامه نویس از نادیده گرفتن یک روش اجتناب کند، می تواند از کلمه کلیدی نهایی برای آن روش استفاده کند. اگر روش نمایش در کلاس A نهایی باشد، متد نمایش در B خطا می دهد زیرا آن متد قابل بازنویسی نیست.

تفاوت بین استاتیک و نهایی در Java_Figure 04
تفاوت بین استاتیک و نهایی در Java_Figure 04

شکل 04: کلمه کلیدی نهایی در روش

یکی دیگر از ارکان OOP، وراثت است. به استفاده مجدد از کد موجود کمک می کند. کلاس جدید می تواند از کلاس موجود گسترش یابد و از اعضای داده و متدهای کلاس موجود استفاده کند. اگر نیاز به توقف ارث بردن یک کلاس باشد، برنامه نویس می تواند از کلمه کلیدی "نهایی" استفاده کند. به برنامه زیر مراجعه کنید.

تفاوت Ke3y بین استاتیک و نهایی در جاوا
تفاوت Ke3y بین استاتیک و نهایی در جاوا

شکل 05: کلمه کلیدی نهایی در کلاس

طبق برنامه فوق کلاس A نهایی اعلام می شود. وقتی کلاس B A را گسترش می دهد، یک خطا می دهد زیرا کلاس A به عنوان نهایی اعلام می شود. نمی توان آن را توسط کلاس های دیگر به ارث برد.

شباهت بین استاتیک و نهایی در جاوا چیست؟

هر دو استاتیک و نهایی کلمات کلیدی در جاوا هستند

تفاوت بین استاتیک و نهایی در جاوا چیست؟

استاتیک در مقابل نهایی در جاوا

کلید کلیدی استاتیک نشان می دهد که یک متغیر عضو یا متد را می توان بدون نیاز به نمونه ای از کلاسی که به آن تعلق دارد دسترسی داشت. کلمه کلیدی نهایی به نهادی اشاره دارد که فقط یک بار می توان آن را اختصاص داد.
متغیرها
متغیرهای استاتیک را می توان مجدداً مقداردهی کرد. متغیرهای نهایی را نمی توان مجدداً مقداردهی کرد.
روش
را می توان با روش های استاتیک دیگر فراخوانی کرد و فقط به اعضای ثابت کلاس دسترسی داشت. روش های نهایی را نمی توان نادیده گرفت.
کلاس
شیء کلاس استاتیک نمی تواند ایجاد شود. فقط شامل اعضای ثابت است. کلاس نهایی را نمی توان توسط کلاس های دیگر به ارث برد.
Block
کلید کلیدی ثابت را می توان در یک بلوک استفاده کرد. کلید کلیدی نهایی با بلوک استفاده نمی شود.

خلاصه - استاتیک در مقابل نهایی در جاوا

این مقاله به دو کلمه کلیدی در جاوا مانند static و final پرداخته است. تفاوت بین static و final در جاوا این است که static برای تعریف عضو کلاس استفاده می شود که می تواند مستقل از هر شی از کلاس استفاده شود در حالی که final برای اعلام یک متغیر ثابت یا متدی که نمی تواند override شود یا کلاسی که نمی تواند استفاده شود استفاده می شود. ارثی باشد

توصیه شده: