Kľúčový rozdiel - statický vs konečný v Jave
Každý programovací jazyk má špecifickú syntax. Programátor by sa mal pri písaní programov riadiť týmito syntaxami. Kľúčové slová programovacích jazykov majú podľa úloh konkrétny význam. Poskytujú ich programovací jazyk a nemožno ich použiť pre používateľom definované premenné, metódy, triedy atď. Statický a konečný sú dve kľúčové slová v Jave. Tento článok pojednáva o rozdieloch medzi statickým a konečným v Jave. Kľúčový rozdiel medzi statickým a finálnym v Jave je ten, že static sa používa na definovanie člena triedy, ktorý sa dá použiť nezávisle od ľubovoľného objektu triedy, zatiaľ čo final sa používa na deklarovanie konštantnej premennej alebo metódy, ktorú nemožno prepísať, alebo triedy, ktorá nemožno dediť.
OBSAH
1. Prehľad a kľúčový rozdiel
2. Čo je statické v Jave
3. Čo je konečné v Jave
4. Podobnosti medzi statickým a konečným v Jave
5. Porovnanie vedľa seba - statické a konečné v Jave v tabuľkovej forme
6. Zhrnutie
Čo je statické v Jave?
Trieda sa skladá z dátových členov (atribútov) a metód. Aby bolo možné volať metódy, mal by existovať objekt konkrétnej triedy. Keď je metóda deklarovaná ako statická, nie je potrebné vytvárať objekt na volanie tejto metódy. Metódu je možné zavolať pomocou názvu triedy. Pozrite si nižšie uvedený program.
Obrázok 01: Program Java so statickými premennými a statickou metódou
Podľa vyššie uvedeného programu trieda A obsahuje číselnú premennú a metódu zobrazenia. Obaja sú statickí členovia. Preto nie je potrebné vytvárať objekt na prístup k premennej čísla a metóde zobrazenia. Programátor môže priamo napísať názov triedy, aby vytlačil číslo a vyvolal zobrazenie metódy. Nie je teda potrebné vytvárať inštancie objektu. Ak sú premenná čísla a metóda zobrazenia nestatické, potom by mal existovať objekt typu A.
Obrázok 02: Použitie statického bloku
Vyššie uvedený program obsahuje statický blok a hlavnú metódu. Statický blok sa volá pri načítaní triedy. Príkaz v statickom bloku sa preto vykoná pred príkazom v hlavnom bloku. Ak existuje veľa statických blokov, budú sa spúšťať postupne.
Čo je konečné v Jave?
V programe môžu byť premenné rôznych typov. Ak existuje premenná ako int x = 1; neskôr v programe možno túto premennú hodnotu zmeniť na inú hodnotu. Premennú, ktorá je deklarovaná ako konečná a inicializovaná s hodnotou, nie je možné neskôr v programe zmeniť.
Obrázok 03: Program s konečnou premennou a dedičstvom
Podľa vyššie uvedeného programu je x konečná premenná. Má priradenú hodnotu 5. Nie je možné zmeniť inú hodnotu, pretože je deklarovaná ako konečná. Java podporuje objektovo orientované programovanie (OOP). Jedným pilierom OOP je polymorfizmus. Jeden typ polymorfizmu je prvoradý. Trieda A má spôsob zobrazenia. Trieda B rozširuje triedu A a má svoju vlastnú metódu zobrazenia. Pri vytváraní objektu typu B a volaní metóda zobrazenia vytlačí ako výstup „B“. Metóda zobrazenia triedy A je potlačená metódou zobrazenia triedy B.
Ak programátor zabráni prepísaniu metódy, môže pre túto metódu použiť konečné kľúčové slovo. Ak je metóda zobrazenia v triede A konečná, spôsob zobrazenia v bode B spôsobí chybu, pretože túto metódu nemožno prepísať.
Obrázok 04: Posledné kľúčové slovo v metóde
Ďalším pilierom OOP je dedičstvo. Pomáha opätovne použiť už existujúci kód. Nová trieda môže vychádzať z existujúcej triedy a používať dátové členy a metódy existujúcej triedy. Ak je potrebné prestať dediť triedu, programátor môže použiť kľúčové slovo „final“. Pozrite si nižšie uvedený program.
Obrázok 05: Posledné kľúčové slovo v triede
Podľa vyššie uvedeného programu je trieda A vyhlásená za konečnú. Keď trieda B rozšíri A, urobí to chybu, pretože trieda A je vyhlásená za konečnú. Nemôžu ho dediť iné triedy.
Aká je podobnosť medzi statickým a konečným v Jave?
Statické aj konečné sú kľúčové slová v jazyku Java
Aký je rozdiel medzi statickým a konečným v Jave?
Rozdielny článok v strede pred tabuľkou
statický vs konečný v Jave |
|
Statické kľúčové slovo označuje, že k členskej premennej alebo metóde je možné získať prístup bez potreby inštancie triedy, do ktorej patrí. | Konečné kľúčové slovo označuje entitu, ktorú je možné priradiť iba raz. |
Premenné | |
Statické premenné je možné znova inicializovať. | Konečné premenné nemožno znova inicializovať. |
Metódy | |
Môžu byť vyvolané inými statickými metódami a majú prístup iba k statickým členom triedy. | Konečné metódy nemožno prepísať. |
Trieda | |
Statický objekt triedy nie je možné vytvoriť. Obsahuje iba statické členy. | Výslednú triedu nemôžu dediť iné triedy. |
Blokovať | |
Statické kľúčové slovo je možné použiť v bloku. | Konečné kľúčové slovo sa s blokom nepoužíva. |
Zhrnutie - statické vs konečné v Jave
Tento článok pojednával o dvoch kľúčových slovách v jazyku Java, ako sú statické a konečné. Rozdiel medzi static a final v Jave spočíva v tom, že static sa používa na definovanie člena triedy, ktorý sa dá použiť nezávisle od ľubovoľného objektu triedy, zatiaľ čo final sa používa na deklaráciu konštantnej premennej alebo metódy, ktorú nemožno prepísať, alebo triedy, ktorá sa nedá prepísať byť zdedený.