تصویری: استفاده از روش overriding equals در جاوا چیست؟
2024 نویسنده: Lynn Donovan | [email protected]. آخرین اصلاح شده: 2023-12-15 23:46
لغو برابر است و هش کد در جاوا
برابر است () روش است استفاده شده برای مقایسه اشیاء برای برابری در حالی که hashCode است استفاده شده برای تولید یک کد عدد صحیح مربوط به آن شی
در اینجا، استفاده از متد برابر در جاوا چیست؟
این برابر است () روش دو شی را برای برابری با هم مقایسه می کند و در صورت وجود true برمی گرداند برابر . این برابر است () روش در کلاس Object ارائه شده است استفاده می کند عملگر هویت (==) برای تعیین اینکه آیا دو شیء هستند یا خیر برابر . برای انواع داده های اولیه، این نتیجه صحیح را می دهد.
علاوه بر این، چگونه روش برابری را در جاوا نادیده می گیرید؟ در قطعه کد بالا، کلاس Person دارای یک متد برابر ()برابر شده است که رویکرد گام به گام زیر را در پیش گرفته است:
- اگر ارجاع به این شی با ارجاع به شی آرگومان یکسان است، true را برگردانید.
- اگر آرگومان null است، false را برگردانید.
- اگر اشیا از یک کلاس نیستند، false را برگردانید.
بر این اساس، چرا باید متد برابری را در جاوا نادیده بگیریم؟
کلاس رشته لغو می کند را روش برابر است از کلاس Object به ارث برده و منطق را برای مقایسه دو شیء رشته کاراکتر به کاراکتر پیاده سازی کرده است. دلیل روش برابر است در کلاس Object برابری مرجع به این دلیل است که نمی داند چگونه کار دیگری انجام دهد.
استفاده از روش هش کد و برابری در جاوا چیست؟
اگر یک کلاس لغو شود برابر است ، آن باید هش کد را لغو کنید . وقتی هر دو هستند لغو شد , برابر است و هش کد باید استفاده کنید همان مجموعه فیلدها اگر دو شی هستند برابر ، سپس آنها هش کد ارزش ها باید باشد برابر همچنین. اگر شیء تغییرناپذیر است، پس هش کد کاندیدای ذخیره سازی و تنظیم اولیه تنبل است.
توصیه شده:
روش overloading و overriding چیست؟
بارگذاری بیش از حد زمانی اتفاق میافتد که دو یا چند روش در یک کلاس دارای نام متد یکسان و پارامترهای مختلف باشند. Overriding به معنای داشتن دو روش با نام متد و پارامترهای یکسان است (یعنی امضای متد). یکی از متدها در کلاس والد و دیگری در کلاس فرزند است
تفاوت بین overriding متد و پنهان کردن روش چیست؟
در روش overriding، زمانی که متغیر مرجع کلاس پایه به شیء کلاس مشتق شده اشاره می کند، متد overrid شده را در کلاس مشتق شده فراخوانی می کند. در روش مخفی کردن، زمانی که متغیر مرجع کلاس پایه به شیء کلاس مشتق شده اشاره می کند، متد مخفی را در کلاس پایه فراخوانی می کند
کدام روش برای جمع آوری زباله در جاوا استفاده می شود؟
متد gc() برای فراخوانی جمعآورنده زباله به طور صریح استفاده میشود. با این حال متد gc() تضمین نمی کند که JVM جمع آوری زباله را انجام دهد. فقط از JVM برای جمع آوری زباله درخواست می کند. این متد در کلاس System و Runtime وجود دارد
کدام روش به صورت داخلی توسط روش شروع نخ () Mcq فراخوانی می شود؟
س) کدام متد به صورت داخلی توسط متد Thread start() فراخوانی می شود؟ روش Thread start() به صورت داخلی متد run() را فراخوانی می کند. تمام دستورات داخل متد run توسط thread اجرا می شوند
آیا می توانیم از روش های منسوخ شده در جاوا استفاده کنیم؟
برای @Deprecated جاوا هم همینطور - هنوز هم میتوانید از این روش استفاده کنید، اما با مسئولیت خودتان - در آینده، ممکن است جایگزینهای بهتری داشته باشد، و حتی ممکن است پشتیبانی نشود. اگر از کد منسوخ شده استفاده میکنید، معمولاً مشکلی ندارد، تا زمانی که مجبور نباشید به یک API جدیدتر ارتقا دهید - ممکن است کد منسوخ شده در آنجا وجود نداشته باشد