Põhierinevus – staatiline vs lõplik Javas
Igal programmeerimiskeelel on kindel süntaks. Programmeerija peaks programmide kirjutamisel neid süntakse järgima. Programmeerimiskeelte märksõnadel on vastav alt ülesannetele spetsiifilised tähendused. Neid pakub programmeerimiskeel ja neid ei saa kasutada kasutaja määratud muutujate, meetodite, klasside jms jaoks. Staatiline ja lõplik on Java kaks märksõna. Selles artiklis käsitletakse erinevust Java staatilise ja lõpliku vahel. Peamine erinevus Java staatilise ja lõpliku vahel on see, et staatilist kasutatakse klassiliikme määratlemiseks, mida saab kasutada klassi mis tahes objektist sõltumatult, samas kui lõplikku kasutatakse konstantse muutuja või meetodi deklareerimiseks, mida ei saa alistada, või klassi, mida saab kasutada. ei saa pärida.
Mis on Javas staatiline?
Klass koosneb andmeliikmetest (atribuutidest) ja meetoditest. Meetodite kutsumiseks peaks olema selle konkreetse klassi objekt. Kui meetod on kuulutatud staatiliseks, ei ole selle meetodi kutsumiseks vaja objekti luua. Meetodit saab kutsuda klassi nime kasutades. Vaadake allolevat programmi.
Joonis 01: Java programm staatiliste muutujate ja staatilise meetodiga
Vastav alt ül altoodud programmile sisaldab klass A numbrimuutujat ja kuvamismeetodit. Mõlemad on staatilised liikmed. Seetõttu ei ole numbrimuutujale ja kuvamismeetodile juurdepääsuks vaja objekti luua. Programmeerija saab numbri printimiseks ja meetodi kuva kutsumiseks otse kirjutada klassi nime. Seega ei ole vaja objekti instantseerida. Kui arvumuutuja ja kuvamisviis ei ole staatilised, peaks seal olema A-tüüpi objekt.
Joonis 02: Staatilise ploki kasutamine
Ül altoodud programm sisaldab staatilist plokki ja põhimeetodit. Staatiline plokk kutsutakse välja klassi laadimisel. Seetõttu käivitatakse staatilise ploki lause enne põhiploki avaldust. Kui staatilisi plokke on palju, käivitatakse need järjest.
Mis on Javas lõplik?
Programmis võib olla erinevat tüüpi muutujaid. Kui on olemas muutuja int x=1; hiljem programmis saab selle muutuja väärtuse muuta mõneks muuks väärtuseks. Muutujat, mis on deklareeritud lõplikuks ja lähtestatud väärtusega, ei saa hiljem programmis muuta.
Joonis 03: Programm lõpliku muutuja ja pärilikkusega
Vastav alt ül altoodud programmile on x lõplik muutuja. Sellele omistatakse väärtus 5. Seda ei saa muuta mingit muud väärtust, kuna see on kuulutatud lõplikuks. Java toetab objektorienteeritud programmeerimist (OOP). Üks OOP sammas on polümorfism. Üks polümorfismi tüüp on ülekaalukas. Klassil A on kuvamismeetod. Klass B laiendab klassi A ja sellel on oma kuvamismeetod. B-tüüpi objekti loomisel ja kuvamismeetodi kutsumisel trükitakse väljundina “B”. Klassi A kuvamismeetod alistab klassi B kuvamismeetodi.
Kui programmeerija väldib meetodi alistamist, võib ta kasutada selle meetodi jaoks viimast märksõna. Kui klassi A kuvamismeetod on lõplik, annab B kuvamismeetod veateate, kuna seda meetodit ei saa tühistada.
Joonis 04: meetodi viimane märksõna
OOP-i teine sammas on pärimine. See aitab juba olemasolevat koodi uuesti kasutada. Uus klass võib laieneda olemasolevast klassist ja kasutada olemasoleva klassi andmeliikmeid ja meetodeid. Kui on vaja klassi pärimist lõpetada, võib programmeerija kasutada märksõna "final". Vaadake allolevat programmi.
Joonis 05: viimane märksõna klassis
Vastav alt ül altoodud programmile kuulutatakse klass A lõplikuks. Kui klass B laiendab A-d, annab see vea, kuna klass A kuulutatakse lõplikuks. Seda ei saa teised klassid pärida.
Milline on Java staatilise ja lõpliku sarnasus?
Nii staatiline kui ka lõplik on Java märksõnad
Mis vahe on Javas staatilisel ja lõplikul?
staatiline vs finaal Javas |
|
Staatiline märksõna tähistab, et liikmemuutujale või meetodile pääseb juurde, ilma et oleks vaja selle klassi eksemplari, kuhu see kuulub. | Lõpuline märksõna tähistab olemit, mida saab määrata ainult üks kord. |
Muutujad | |
Staatilisi muutujaid saab uuesti initsialiseerida. | Lõplikke muutujaid ei saa uuesti initsialiseerida. |
Meetodid | |
Saab välja kutsuda muude staatiliste meetoditega ja pääseb juurde ainult klassi staatilistele liikmetele. | Lõplikke meetodeid ei saa alistada. |
Klass | |
Staatilist klassiobjekti ei saa luua. See sisaldab ainult staatilisi liikmeid. | Viimast klassi ei saa teised klassid pärida. |
Block | |
Staatilist märksõna saab kasutada plokis. | Viimast märksõna ei kasutata koos plokiga. |
Kokkuvõte – staatiline vs lõplik Javas
Selles artiklis käsitleti kahte Java märksõna, nagu staatiline ja lõplik. Erinevus Java staatilise ja lõpliku vahel seisneb selles, et staatilist kasutatakse klassiliikme määratlemiseks, mida saab kasutada klassi mis tahes objektist sõltumatult, samas kui lõplikku kasutatakse konstantse muutuja või meetodi deklareerimiseks, mida ei saa alistada, või klassi, mida ei saa kasutada. olla päritud.