Video: Ikki sinfda bir xil serialVersionUID bo'lishi mumkinmi?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Ha, shunday bo'lishi mumkin ikki boshqacha sinflar bo'lishi mumkin the bir xil serialVersionUID qiymat. Lekin har biri uchun o'ziga xos birini ishlatishni afzal ko'ring sinf . Bundan tashqari, qiymat sifatida faqat 1 emas, 8 dan 10 gacha uzunroq bir raqamdan foydalaning.
Shunday qilib, serialVersionUID nima?
Oddiy qilib aytganda, serialVersionUID Serializable sinflar uchun noyob identifikatordir. Bu yuklangan sinfning ketma-ketlashtirilgan ob'ekt bilan mos kelishini ta'minlash uchun ob'ektni seriyadan chiqarish paytida ishlatiladi.
Xuddi shunday, serialVersionUID 1l dan qanday foydalanish kerak? The serialVersionUID Serializable sinfi uchun universal versiya identifikatoridir. Seriyadan chiqarish foydalanadi yuklangan sinf ketma-ketlashtirilgan ob'ektga to'liq mos kelishini ta'minlash uchun bu raqam. Hech qanday moslik topilmasa, InvalidClassException tashlanadi.
Xuddi shunday, serialVersionUID kerakmi?
standart serialVersionUID hisoblash kompilyator ilovalariga qarab farq qilishi mumkin bo'lgan sinf tafsilotlariga juda sezgir va mumkin Shunday qilib, seriyani bekor qilish paytida kutilmagan InvalidClassException s paydo bo'ladi. Shuning uchun siz e'lon qilishingiz kerak serialVersionUID chunki bu bizga ko'proq nazorat beradi.
Serializatsiya jarayonida serialVersionUID qanday rol o'ynaydi?
davomida ketma-ketlashtirish , java ish vaqti har biri bilan versiya raqamini bog'laydi seriyali bo'lishi mumkin sinf. Bu raqam qo'ng'iroq qildi serialVersionUID , a.ning jo'natuvchisi va qabul qiluvchisi ekanligini tekshirish uchun deserializatsiya paytida foydalaniladi seriallashtirilgan ob'ektda ushbu ob'ekt uchun mos keladigan sinflar yuklangan ketma-ketlashtirish.
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
Abstrakt sinfda kirish modifikatorlari bo'lishi mumkinmi?
Mavhum sinfni o'z ichiga olgan Java klassi mavhum sinf sifatida e'lon qilinishi kerak. Mavhum usul faqat ochiq yoki himoyalangan ko'rinish modifikatorini o'rnatishi mumkin. Ya'ni, mavhum usul deklaratsiyaga statik yoki yakuniy modifikator qo'sha olmaydi
Yugurish boshi sarlavha bilan bir xil bo'lishi mumkinmi?
Yugurish boshi qog'oz sarlavhasining qisqacha versiyasi bo'lishi kerak, uzunligi 50 belgidan oshmasligi kerak (bo'shliqlar bilan birga). Sarlavha sahifasidagi yuguruvchi boshdan oldin joylashgan “Yugurish boshi:” yorlig‘i 50 ta belgiga kiritilmagan, chunki u qog‘oz sarlavhasining bir qismi emas
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