Peamine erinevus - staatiline vs lõplik Java-s
Igal programmeerimiskeelel on kindel süntaks. Programmeerija peaks programme kirjutades järgima neid süntakse. Programmeerimiskeelte märksõnadel on vastavalt ülesannetele konkreetne tähendus. Neid pakub programmeerimiskeel ja neid ei saa kasutada kasutaja määratletud muutujate, meetodite, klasside jne jaoks. Staatiline ja lõplik on Java kaks märksõna. Selles artiklis käsitletakse Java staatilise ja lõpliku erinevust. Peamine erinevus Java staatilise ja lõpliku vahel on see, et staatilist kasutatakse klassi liikme määratlemiseks, mida saab kasutada klassi mis tahes objektist sõltumatult, samas kui finalit kasutatakse deklareerimaks konstantset muutujat või meetodit, mida ei saa tühistada, või klassi, ei saa pärida.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on Java-s staatiline
3. Mis on Java- is lõplik
4. Java-i staatilise ja lõpliku sarnasused
5. Kõrvuti võrdlus - staatiline vs lõplik Javas tabelina
6. Kokkuvõte
Mis on Java-s staatiline?
Klass koosneb andmeliikmetest (atribuutidest) ja meetoditest. Meetodite kutsumiseks peaks olema selle konkreetse klassi objekt. Kui meetod tunnistatakse staatiliseks, pole selle meetodi kutsumiseks vaja objekti luua. Meetodit saab kutsuda klassi nime abil. Vaadake allolevat programmi.
Joonis 01: Java-programm koos staatiliste muutujate ja staatilise meetodiga
Vastavalt ülaltoodud programmile sisaldab klass A arvumuuturit ja kuvamismeetodit. Mõlemad on staatilised liikmed. Seetõttu pole arvumuutujale ja kuvamismeetodile juurdepääsemiseks vaja objekti luua. Programmeerija saab numbri printimiseks ja meetodi kuvamiseks helistada otse klassi nime. Niisiis, pole vaja objekti kiireks muuta. Kui numbrimuutuja ja kuvamismeetod pole staatilised, siis peaks olema A-tüüpi objekt.
Joonis 02: Staatilise ploki kasutamine
Ülaltoodud programm sisaldab staatilist plokki ja peamist meetodit. Staatilist plokki kutsutakse klassi laadimisel. Seetõttu käivitatakse staatilises plokis olev lause enne peaploki lauset. Kui staatilisi plokke on palju, käivitatakse need järjestikku.
Mis on Java-s lõplik?
Programmis võib olla erinevat tüüpi muutujaid. Kui on muutuja int x = 1; hiljem programmis saab selle muutuja väärtuse muuta mõneks muuks väärtuseks. Lõplikuks kuulutatud ja väärtusega initsialiseeritud muutujat ei saa hiljem programmis muuta.
Joonis 03: Programm koos lõpliku muutuja ja pärandiga
Vastavalt ülaltoodud programmile on x lõplik muutuja. Sellele on määratud väärtus 5. Seda ei saa muud väärtust muuta, kuna see on kuulutatud lõplikuks. Java toetab objektorienteeritud programmeerimist (OOP). Üks OOP sammas on polümorfism. Üks polümorfismi tüüp on ülekaalukas. A-klassil on kuvamismeetod. B-klass laiendab A-klassi ja sellel on oma kuvamismeetod. B-tüüpi objekti loomisel ja kuvamismeetodi kutsumisel trükitakse väljundiks „B”. A-klassi kuvamismeetodist loobub B-klassi kuvamismeetod.
Kui programmeerija peaks vältima meetodi tühistamist, saab ta selle meetodi jaoks kasutada viimast märksõna. Kui A-klassi kuvamismeetod on lõplik, annab B-s kuvatav meetod vea, kuna seda meetodit ei saa alistada.
Joonis 04: meetodi viimane märksõna
Teine OOP sammas on pärimine. See aitab juba olemasolevat koodi taaskasutada. Uus klass võib laieneda olemasolevast klassist ja kasutada olemasoleva klassi andmeliikmeid ja meetodeid. Kui on vaja lõpetada klassi pärimine, saab programmeerija kasutada märksõna „lõplik”. Vaadake allolevat programmi.
Joonis 05: klassi viimane märksõna
Vastavalt ülaltoodud programmile kuulutatakse A-klass lõplikuks. Kui klass B ulatub A-ni, annab see vea, kuna klass A kuulutatakse lõplikuks. Teised klassid ei saa seda pärida.
Mis on Java staatilise ja lõpliku sarnasus?
Nii staatiline kui ka lõplik on Java märksõnad
Mis vahe on Java staatilisel ja lõplikul?
Erinev artikkel keskel enne tabelit
staatiline vs lõplik Java-s |
|
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õplik märksõna tähistab üksust, mille saab määrata ainult üks kord. |
Muutujad | |
Staatilisi muutujaid saab uuesti initsialiseerida. | Lõplikke muutujaid ei saa uuesti lähtestada. |
Meetodid | |
Saab helistada muude staatiliste meetoditega ja pääseda juurde ainult klassi staatilistele liikmetele. | Viimaseid meetodeid ei saa tühistada. |
Klass | |
Staatilise klassi objekti ei saa luua. See sisaldab ainult staatilisi liikmeid. | Lõplikku klassi teised klassid pärida ei saa. |
Blokeeri | |
Staatilist märksõna saab kasutada plokis. | Lõplikku märksõna ei kasutata koos plokiga. |
Kokkuvõte - staatiline vs lõplik Java-s
Selles artiklis käsitleti kahte Java-märksõna, nagu staatiline ja lõplik. Staatilise ja lõpliku vahe Java-s on see, et staatilist kasutatakse klassi liikme määratlemiseks, mida saab kasutada klassi mis tahes objektist sõltumatult, samas kui finalit kasutatakse deklareerimaks konstantset muutujat või meetodit, mida ei saa tühistada, olema päritud.