Asosiy farq – Java-da statik va final
Har bir dasturlash tilida oʻziga xos sintaksis mavjud. Dasturchi dasturlarni yozishda ushbu sintaksislarga amal qilishi kerak. Dasturlash tillarining kalit so'zlari topshiriqlarga ko'ra o'ziga xos ma'nolarga ega. Ular dasturlash tili tomonidan taqdim etilgan va foydalanuvchi tomonidan belgilangan o'zgaruvchilar, usullar, sinflar va hokazolar uchun ishlatib bo'lmaydi. Statik va final Java-dagi ikkita kalit so'zdir. Ushbu maqolada Java-da statik va final o'rtasidagi farq muhokama qilinadi. Java-da statik va final o'rtasidagi asosiy farq shundaki, static sinfning har qanday ob'ektidan mustaqil ravishda foydalanish mumkin bo'lgan sinf a'zosini aniqlash uchun ishlatiladi, final esa doimiy o'zgaruvchini yoki bekor qilib bo'lmaydigan usulni yoki sinfni e'lon qilish uchun ishlatiladi. meros qilib bo'lmaydi.
Javada statik nima?
Klass ma'lumotlar a'zolari (atributlari) va usullardan iborat. Usullarni chaqirish uchun ushbu maxsus sinfning ob'ekti bo'lishi kerak. Usul statik deb e'lon qilinganda, ushbu usulni chaqirish uchun ob'ekt yaratish kerak emas. Usulni sinf nomidan foydalanib chaqirish mumkin. Quyidagi dasturga qarang.
01-rasm: statik oʻzgaruvchilar va statik usulga ega Java dasturi
Yuqoridagi dasturga ko'ra, A sinfida raqam o'zgaruvchisi va ko'rsatish usuli mavjud. Ikkalasi ham statik a'zolardir. Shuning uchun, raqam o'zgaruvchisiga va ko'rsatish usuliga kirish uchun ob'ekt yaratish shart emas. Dasturchi raqamni chop etish va usul displeyiga qo'ng'iroq qilish uchun sinf nomini to'g'ridan-to'g'ri yozishi mumkin. Shunday qilib, ob'ektni instantsiya qilishning hojati yo'q. Agar raqam o'zgaruvchisi va ko'rsatish usuli statik bo'lmasa, u holda A tipidagi ob'ekt bo'lishi kerak.
02-rasm: Statik blokdan foydalanish
Yuqoridagi dasturda statik blok va asosiy usul mavjud. Statik blok sinf yuklanganda chaqiriladi. Shuning uchun statik blokdagi operator asosiy blokdagi operatordan oldin bajariladi. Agar statik bloklar koʻp boʻlsa, ular ketma-ket bajariladi.
Javada final nima?
Dasturda har xil turdagi oʻzgaruvchilar boʻlishi mumkin. Agar int x=1 kabi o'zgaruvchi mavjud bo'lsa; Keyinchalik dasturda bu o'zgaruvchining qiymati boshqa qiymatga o'zgartirilishi mumkin. Yakuniy deb e'lon qilingan va qiymat bilan ishga tushirilgan o'zgaruvchini keyinchalik dasturda o'zgartirib bo'lmaydi.
03-rasm: Yakuniy oʻzgaruvchi va merosga ega dastur
Yuqoridagi dasturga koʻra, x yakuniy oʻzgaruvchidir. Unga 5 qiymati berilgan. Uni boshqa qiymatni o'zgartirib bo'lmaydi, chunki u yakuniy deb e'lon qilingan. Java ob'ektga yo'n altirilgan dasturlashni (OOP) qo'llab-quvvatlaydi. OOP ning bir ustuni polimorfizmdir. Polimorfizmning bir turi ustunlikdir. A sinfida ko'rsatish usuli mavjud. B sinfi A sinfini kengaytiradi va u o'zining ko'rsatish usuliga ega. B tipidagi ob'ektni yaratishda va displey usulini chaqirganda, chiqish sifatida "B" chop etiladi. A sinfining ko'rsatish usuli B sinfining ko'rsatish usuli bilan bekor qilingan.
Agar dasturchi qandaydir usulni bekor qilmaslik kerak bo'lsa, u ushbu usul uchun yakuniy kalit so'zdan foydalanishi mumkin. Agar A sinfidagi ko'rsatish usuli yakuniy bo'lsa, B dagi ko'rsatish usuli xato beradi, chunki bu usulni bekor qilib bo'lmaydi.
04-rasm: usuldagi yakuniy kalit so'z
OOPning yana bir ustuni - bu meros. Bu allaqachon mavjud kodni qayta ishlatishga yordam beradi. Yangi sinf mavjud sinfdan kengayishi va mavjud sinfning ma'lumotlar a'zolari va usullaridan foydalanishi mumkin. Agar sinfni meros qilib olishni to'xtatish talab etilsa, dasturchi "final" kalit so'zidan foydalanishi mumkin. Quyidagi dasturga qarang.
05-rasm: sinfdagi yakuniy kalit so'z
Yuqoridagi dasturga muvofiq, A klassi yakuniy deb e'lon qilingan. B klassi A ni kengaytirganda, u xato beradi, chunki A sinf yakuniy deb e'lon qilinadi. Uni boshqa sinflar meros qilib boʻlmaydi.
Javada statik va final oʻrtasidagi oʻxshashlik nimada?
Ham statik, ham yakuniy soʻzlar Java tilidagi kalit soʻzlardir
Javada statik va final oʻrtasidagi farq nima?
javada statik va final |
|
Statik kalit soʻz aʼzo oʻzgaruvchisi yoki usuliga u tegishli boʻlgan sinfning namunasini talab qilmasdan kirish mumkinligini bildiradi. | Yakuniy kalit soʻz faqat bir marta tayinlanishi mumkin boʻlgan obʼyektni bildiradi. |
Oʻzgaruvchilar | |
Statik oʻzgaruvchilarni qayta ishga tushirish mumkin. | Yakuniy oʻzgaruvchilarni qayta ishga tushirib boʻlmaydi. |
Usullar | |
Boshqa statik usullar bilan chaqirilishi va faqat sinfning statik a'zolariga kirishi mumkin. | Yakuniy usullarni bekor qilib boʻlmaydi. |
Sinf | |
Statik sinf obyektini yaratib boʻlmaydi. Unda faqat statik a'zolar mavjud. | Yakuniy sinf boshqa sinflar tomonidan meros qilib olinmaydi. |
Bloklash | |
Statik kalit soʻz blokda ishlatilishi mumkin. | Yakuniy kalit soʻz blok bilan ishlatilmaydi. |
Xulosa – Java-da statik va final
Ushbu maqolada Java tilidagi statik va yakuniy kabi ikkita kalit soʻz muhokama qilingan. Java-da statik va final o'rtasidagi farq shundaki, static sinfning har qanday ob'ektidan mustaqil ravishda foydalanish mumkin bo'lgan sinf a'zosini aniqlash uchun ishlatiladi, final esa doimiy o'zgaruvchini yoki bekor qilib bo'lmaydigan usulni yoki sinfni e'lon qilish uchun ishlatiladi. meros qilib olinadi.