logo

Konečné klíčové slovo v Javě

  1. Konečná proměnná
  2. Konečná metoda
  3. Závěrečná třída
  4. Je výsledná metoda zděděna?
  5. Prázdná konečná proměnná
  6. Statická prázdná konečná proměnná
  7. Konečný parametr
  8. Můžete deklarovat finální konstruktor

The konečné klíčové slovo v Javě se používá k omezení uživatele. Klíčové slovo java final lze použít v mnoha kontextech. Finále může být:

  1. variabilní
  2. metoda
  3. třída

Klíčové slovo final lze použít s proměnnými, konečná proměnná, která nemá žádnou hodnotu, se nazývá prázdná konečná proměnná nebo neinicializovaná konečná proměnná. Lze jej inicializovat pouze v konstruktoru. Prázdná finální proměnná může být také statická, která bude inicializována pouze ve statickém bloku. Budeme se o nich podrobně učit. Pojďme se nejprve naučit základy finálního klíčového slova.

středový obrázek v css
konečné klíčové slovo v jazyce Java

1) Finální proměnná Java

Pokud uděláte jakoukoli proměnnou jako konečnou, nemůžete změnit hodnotu konečné proměnné (bude konstantní).

Příklad konečné proměnné

Existuje konečná proměnná rychlostní limit, budeme měnit hodnotu této proměnné, ale nelze ji změnit, protože konečná proměnná, jakmile je přiřazena hodnota, již nelze změnit.

 class Bike9{ final int speedlimit=90;//final variable void run(){ speedlimit=400; } public static void main(String args[]){ Bike9 obj=new Bike9(); obj.run(); } }//end of class 
Otestujte to hned
 Output:Compile Time Error 

2) Konečná metoda Java

Pokud kteroukoli metodu nastavíte jako konečnou, nemůžete ji přepsat.

Příklad konečné metody

 class Bike{ final void run(){System.out.println('running');} } class Honda extends Bike{ void run(){System.out.println('running safely with 100kmph');} public static void main(String args[]){ Honda honda= new Honda(); honda.run(); } } 
Otestujte to hned
 Output:Compile Time Error 

3) Závěrečná třída Java

Pokud uděláte kteroukoli třídu jako konečnou, nemůžete ji prodloužit.

Příklad závěrečné třídy

 final class Bike{} class Honda1 extends Bike{ void run(){System.out.println('running safely with 100kmph');} public static void main(String args[]){ Honda1 honda= new Honda1(); honda.run(); } } 
Otestujte to hned
 Output:Compile Time Error 

Q) Je výsledná metoda zděděna?

Ans) Ano, konečná metoda je zděděna, ale nemůžete ji přepsat. Například:

 class Bike{ final void run(){System.out.println('running...');} } class Honda2 extends Bike{ public static void main(String args[]){ new Honda2().run(); } } 
Otestujte to hned
 Output:running... 

Q) Co je prázdná nebo neinicializovaná konečná proměnná?

Konečná proměnná, která není inicializována v době deklarace, se nazývá prázdná konečná proměnná.

Pokud chcete vytvořit proměnnou, která je inicializována v době vytváření objektu a po inicializaci již nelze změnit, je to užitečné. Například číslo PAN CARD zaměstnance.

Lze jej inicializovat pouze v konstruktoru.

Příklad prázdné konečné proměnné

 class Student{ int id; String name; final String PAN_CARD_NUMBER; ... } 

Que) Můžeme inicializovat prázdnou konečnou proměnnou?

Ano, ale pouze v konstruktoru. Například:

 class Bike10{ final int speedlimit;//blank final variable Bike10(){ speedlimit=70; System.out.println(speedlimit); } public static void main(String args[]){ new Bike10(); } } 
Otestujte to hned
 Output: 70 

statická prázdná konečná proměnná

Statická konečná proměnná, která není inicializována v době deklarace, se nazývá statická prázdná konečná proměnná. Může být inicializován pouze ve statickém bloku.

konvence pojmenování java

Příklad statické prázdné konečné proměnné

 class A{ static final int data;//static blank final variable static{ data=50;} public static void main(String args[]){ System.out.println(A.data); } } 

Q) Co je konečný parametr?

Pokud deklarujete jakýkoli parametr jako konečný, nemůžete změnit jeho hodnotu.

 class Bike11{ int cube(final int n){ n=n+2;//can't be changed as n is final n*n*n; } public static void main(String args[]){ Bike11 b=new Bike11(); b.cube(5); } } 
Otestujte to hned
 Output: Compile Time Error 

Q) Můžeme prohlásit konstruktor za konečný?

Ne, protože konstruktor se nikdy nedědí.