Javada statik va final oʻrtasidagi farq

Mundarija:

Javada statik va final oʻrtasidagi farq
Javada statik va final oʻrtasidagi farq

Video: Javada statik va final oʻrtasidagi farq

Video: Javada statik va final oʻrtasidagi farq
Video: Dinamik ve Statik Arasındaki Fark 2024, Noyabr
Anonim

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.

Java-da statik va final o'rtasidagi farq
Java-da statik va final o'rtasidagi farq

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.

Java_Figure 02 da statik va yakuniy o'rtasidagi farq
Java_Figure 02 da statik va yakuniy o'rtasidagi farq

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.

Java_Figure 03 da statik va yakuniy o'rtasidagi farq
Java_Figure 03 da statik va yakuniy o'rtasidagi farq

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.

Java_Figure 04 da statik va yakuniy o'rtasidagi farq
Java_Figure 04 da statik va yakuniy o'rtasidagi farq

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.

Ke3y Java-da statik va final o'rtasidagi farq
Ke3y Java-da statik va final o'rtasidagi farq

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.

Tavsiya: