V tomto tutoriále sa dozvieme o finálnych premenných, metódach a triedach jazyka Java s príkladmi.
V Jave sa final
kľúčové slovo používa na označenie konštánt. Môže byť použitý s premennými, metódami a triedami.
Po deklarovaní ľubovoľnej entity (premennej, metódy alebo triedy) final
ju možno priradiť iba raz. To znamená,
- konečnú premennú nemožno znova inicializovať s inou hodnotou
- konečnú metódu nemožno prepísať
- výslednú triedu nie je možné predĺžiť
1. Konečná premenná Java
V Jave nemôžeme zmeniť hodnotu konečnej premennej. Napríklad,
class Main ( public static void main(String() args) ( // create a final variable final int AGE = 32; // try to change the final variable AGE = 45; System.out.println("Age: " + AGE); ) )
Vo vyššie uvedenom programe sme vytvorili konečnú premennú s názvom age. A pokúsili sme sa zmeniť hodnotu výslednej premennej.
Po spustení programu dostaneme chybu kompilácie s nasledujúcou správou.
cannot assign a value to final variable AGE AGE = 45;
Poznámka : Na deklarovanie konečných premenných v jazyku Java sa odporúča používať veľké písmená.
2. Java finálna metóda
Predtým, ako sa dozviete o záverečných metódach a záverečných kurzoch, uistite sa, že viete o dedičnosti Java.
V Jave final
nemôže byť táto metóda prepísaná podradenou triedou. Napríklad,
class FinalDemo ( // create a final method public final void display() ( System.out.println("This is a final method."); ) ) class Main extends FinalDemo ( // try to override final method public final void display() ( System.out.println("The final method is overridden."); ) public static void main(String() args) ( Main obj = new Main(); obj.display(); ) )
Vo vyššie uvedenom príklade sme vytvorili finálnu metódu pomenovanú display()
vo vnútri FinalDemo
triedy. Hlavná trieda tu dedí triedu FinalDemo.
Pokúsili sme sa prekonať výslednú metódu v hlavnej triede. Po spustení programu dostaneme chybu kompilácie s nasledujúcou správou.
display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final
3. Java final Class
V Jave nemôže byť výsledná trieda zdedená inou triedou. Napríklad,
// create a final class final class FinalClass ( public void display() ( System.out.println("This is a final method."); ) ) // try to extend the final class class Main extends FinalClass ( public void display() ( System.out.println("The final method is overridden."); ) public static void main(String() args) ( Main obj = new Main(); obj.display(); ) )
Vo vyššie uvedenom príklade sme vytvorili finálnu triedu s názvom FinalClass. Tu sme sa pokúsili zdediť finálnu triedu po hlavnej triede.
Po spustení programu dostaneme chybu kompilácie s nasledujúcou správou.
cannot inherit from final FinalClass class Main extends FinalClass (