۵ Aydin
Static methods
جامعه جاوا (اندروید) ایجاد شده در ۲۳ شهریور ۱۴۰۱

سوالی برام پیش اومده این که چرا متودی که از نوع static تعریف میشه رو نمیشه Override کرد؟

سلام امیدوارم عالی باشید

برای متوجه شدن علت دقیق این موضوع مقاله رو به رو رو مطالعه کنید : لینک

پوریا شفیعی ۲۳ شهریور ۱۴۰۱، ۰۸:۳۵

بله قبل از سوال پرسیدن سرچ کرده بودم اما طبق توضیحاتی که این وبسایت گفته نتونستم درک کنم واقعیت.

Aydin ۲۳ شهریور ۱۴۰۱، ۱۰:۳۸

سلام ایدین جان

بفرمایید کجای این مقاله براتون گنگ بود تا توضیح بدم


پوریا شفیعی ۲۶ شهریور ۱۴۰۱، ۱۴:۴۴

همان طور که عرض کردم دلیل اینکه وقتی یک متودی در Parent Class از نوع Static تعریف میشه در Child Class چرا نمیشه متود رو Override کرد؟

Aydin ۳۰ شهریور ۱۴۰۱، ۱۷:۲۵

سلام،

ببینید این مسئله مربوط به زبان کامپایلری جاوا هست که داخل توضیحات لینکی که بالاتر اومده گفته شده عمل بازنویسی متد در زمان اجرا اتفاق میوفته:

No, we cannot override static methods because method overriding is based on dynamic binding at runtime and the static methods are bonded using static binding at compile time.

اما برای مثال در زبان تفسیری مثل php میتوان یک متد static رو override کرد.

در مورد runtime و compile time هم اگر اطلاعات بخواید میتونید گوگل کنید.

محسن موحد ۰۴ مهر ۱۴۰۱، ۰۷:۴۱