Video: Java mavhum sinfida konstruktor bo'lishi mumkinmi?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Ha, an mavhum sinfga ega bo'lishi mumkin a konstruktor ichida Java . Siz mumkin yoki aniq ta'minlash konstruktor uchun mavhum sinf yoki buni qilmasangiz, kompilyator bo'ladi standart qo'shish konstruktor hech qanday argument yo'q mavhum sinf . Bu hamma uchun to'g'ri sinflar va u ham tegishli mavhum sinf.
Shunday qilib, Java-da konstruktor mavhum bo'lishi mumkinmi?
Siz mumkin yo'q mavhum konstruktor , kabi mavhum bu sizning pastki sinfingizda bir vaqtning o'zida amalga oshirishni ta'minlashingiz kerakligini anglatadi. Lekin siz bekor qila olmaysiz konstruktor . Mana bo'ladi ega bo'lishdan foyda yo'q mavhum konstruktor : Siz bo'ladi har doim qo'ng'iroq qiling konstruktor asosiy sinf emas, balki bolalar sinfi.
Xuddi shunday, mavhum sinf konstruktorini qanday chaqirish mumkin? a.ni belgilashingiz mumkin konstruktor ichida mavhum sinf , lekin siz bu ob'ektni qura olmaysiz. Biroq, beton sub- sinflar mumkin (va kerak) qo'ng'iroq qiling lardan biri konstruktorlar da belgilangan mavhum ota-ona sinf . Siz qila olmaysiz qo'ng'iroq qiling a mavhum sinf konstruktori bilan sinf misol yaratish ifodasi, ya'ni.
Xuddi shunday, odamlar nima uchun mavhum sinfda konstruktor bor?
A konstruktor Java-da aslida ob'ektni "qurmaydi", u maydonlarni ishga tushirish uchun ishlatiladi. Tasavvur qiling-a, sizning mavhum sinfga ega x va y maydonlari va oxir-oqibat qanday aniq kichik sinf yaratilishidan qat'i nazar, ularni har doim ma'lum bir tarzda ishga tushirishni xohlaysiz.
Abstrakt sinf Java-da ob'ektlarga ega bo'lishi mumkinmi?
Chunki shunday mavhum va an ob'ekt betondir. Yo'q, dizaynerlar yo'l bermadi. Chunki an mavhum sinf to'liqsiz hisoblanadi sinf (o'z ichiga olgan ma'noda to'liq emas mavhum tanasi va chiqishisiz usullar) biz misol yarata olmaymiz yoki ob'ekt ; interfeys uchun aytganingizdek.
Tavsiya:
Abstrakt sinfda konstruktor bo'lishi mumkinmi?
Ha, mavhum sinf Java-da konstruktorga ega bo'lishi mumkin. Siz mavhum sinfga konstruktorni aniq ko'rsatishingiz mumkin yoki buni qilmasangiz, kompilyator abstrakt sinfga argumentsiz standart konstruktorni qo'shadi. Bu barcha sinflar uchun amal qiladi va u mavhum sinfga ham tegishli
Interfeys usullari Java parametrlariga ega bo'lishi mumkinmi?
Java interfeysi biroz Java sinfiga o'xshaydi, faqat Java interfeysi faqat metod imzolari va maydonlarini o'z ichiga olishi mumkin. Java interfeysi usullarni amalga oshirish uchun mo'ljallanmagan, faqat usulning imzosi (nomi, parametrlari va istisnolari)
Interfeys mavhum bo'lmagan usullarga ega bo'lishi mumkinmi?
Interfeys usullari ta'rifiga ko'ra ommaviy va mavhumdir, shuning uchun interfeysingizda mavhum bo'lmagan usullar bo'lishi mumkin emas. Java-da interfeys usullari sukut bo'yicha ommaviy va mavhumdir. Shunday qilib, birinchi variant - yomon amaliyot. Gap shundaki, siz interfeys ichida mavhum bo'lmagan usullardan foydalana olmaysiz, chunki ular sukut bo'yicha mavhumdir
Sinfda konstruktor bo'lishi mumkinmi?
Sinfda konstruktor bo'lmasligi mumkin. (Bu erda muhim farq shundaki, JVM barcha sinf fayllarida konstruktor bo'lishini talab qilmaydi; ammo, agar konstruktor aniq e'lon qilinmagan bo'lsa, Java-da belgilangan har qanday sinf standart konstruktorga ega bo'ladi
Abstrakt sinfda mavhum bo'lmagan usullar bo'lishi mumkinmi?
Ha, biz abstrakt usullarsiz mavhum sinfga ega bo'lishimiz mumkin, chunki ikkalasi ham mustaqil tushunchalardir. Sinf mavhumligini e'lon qilish, uni o'z-o'zidan yaratib bo'lmaydi va faqat quyi sinflarga bo'linadi. Usulni abstrakt deb e'lon qilish Metodning pastki sinfda aniqlanishini anglatadi