Konečné klíčové slovo Java (s příklady)

V tomto výukovém programu se na příkladech seznámíme s finálními proměnnými, metodami a třídami jazyka Java.

V Javě se finalklíčové slovo používá k označení konstant. Lze jej použít s proměnnými, metodami a třídami.

Jakmile je deklarována libovolná entita (proměnná, metoda nebo třída) final, lze ji přiřadit pouze jednou. To znamená

  • konečnou proměnnou nelze znovu inicializovat jinou hodnotou
  • konečnou metodu nelze přepsat
  • závěrečnou třídu nelze rozšířit

1. Konečná proměnná Java

V Javě nemůžeme změnit hodnotu konečné proměnné. Napří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); ) ) 

Ve výše uvedeném programu jsme vytvořili konečnou proměnnou s názvem age. A pokusili jsme se změnit hodnotu konečné proměnné.

Když spustíme program, dostaneme chybu kompilace s následující zprávou.

 cannot assign a value to final variable AGE AGE = 45; 

Poznámka : K deklaraci konečných proměnných v Javě se doporučuje používat velká písmena.

2. Konečná metoda Java

Než se dozvíte o závěrečných metodách a závěrečných třídách, ujistěte se, že víte o Java Inheritance.

V Javě finalnemůže být metoda přepsána podřízenou třídou. Napří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(); ) ) 

Ve výše uvedeném příkladu jsme vytvořili finální metodu pojmenovanou display()uvnitř FinalDemotřídy. Zde Main třída dědí FinalDemo třídu.

Pokusili jsme se přepsat finální metodu ve třídě Main. Když spustíme program, dostaneme chybu kompilace s následující zprávou.

  display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final 

3. Java final Class

V Javě nelze finální třídu zdědit jinou třídou. Napří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(); ) ) 

Ve výše uvedeném příkladu jsme vytvořili finální třídu s názvem FinalClass. Zde jsme se pokusili zdědit finální třídu po hlavní třídě.

Když spustíme program, dostaneme chybu kompilace s následující zprávou.

 cannot inherit from final FinalClass class Main extends FinalClass ( 

Zajímavé články...