logo

Крайна ключова дума в Java

  1. Крайна променлива
  2. Краен метод
  3. Заключителен клас
  4. Крайният метод наследява ли се?
  5. Празна крайна променлива
  6. Статична празна крайна променлива
  7. Краен параметър
  8. Можете ли да декларирате окончателен конструктор

The крайна ключова дума в java се използва за ограничаване на потребителя. Ключовата дума java final може да се използва в много контексти. Финалът може да бъде:

  1. променлива
  2. метод
  3. клас

Ключовата дума final може да се приложи с променливите, крайна променлива, която няма стойност, се нарича празна крайна променлива или неинициализирана крайна променлива. Може да се инициализира само в конструктора. Празната крайна променлива също може да бъде статична, която ще бъде инициализирана само в статичния блок. Ще научим подробно за тях. Нека първо научим основите на крайната ключова дума.

кои месеци са q1
крайна ключова дума в java

1) Крайна променлива на Java

Ако направите която и да е променлива като крайна, не можете да промените стойността на крайната променлива (тя ще бъде постоянна).

Пример за крайна променлива

Има ограничение на скоростта на крайната променлива, ние ще променим стойността на тази променлива, но тя не може да бъде променена, защото крайната променлива, веднъж присвоена стойност, никога не може да бъде променена.

 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 
Тествайте сега
 Output:Compile Time Error 

2) Java окончателен метод

Ако направите някой метод като окончателен, не можете да го отмените.

Пример за краен метод

 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(); } } 
Тествайте сега
 Output:Compile Time Error 

3) Краен клас на Java

Ако направите някой клас като окончателен, не можете да го разширите.

Пример за финален клас

 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(); } } 
Тествайте сега
 Output:Compile Time Error 

Q) Крайният метод наследява ли се?

Отг.) Да, окончателният метод се наследява, но не можете да го замените. Например:

 class Bike{ final void run(){System.out.println('running...');} } class Honda2 extends Bike{ public static void main(String args[]){ new Honda2().run(); } } 
Тествайте сега
 Output:running... 

В) Какво е празна или неинициализирана крайна променлива?

Крайна променлива, която не е инициализирана по време на декларирането, е известна като празна крайна променлива.

Ако искате да създадете променлива, която се инициализира по време на създаване на обект и веднъж инициализирана може да не бъде променена, това е полезно. Например номер на PAN CARD на служител.

Може да се инициализира само в конструктор.

Пример за празна крайна променлива

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

Въпрос) Можем ли да инициализираме празна крайна променлива?

Да, но само в конструктора. Например:

 class Bike10{ final int speedlimit;//blank final variable Bike10(){ speedlimit=70; System.out.println(speedlimit); } public static void main(String args[]){ new Bike10(); } } 
Тествайте сега
 Output: 70 

статична празна крайна променлива

Статична крайна променлива, която не е инициализирана по време на декларирането, е известна като статична празна крайна променлива. Може да се инициализира само в статичен блок.

java цяло число

Пример за статична празна крайна променлива

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

В) Какъв е крайният параметър?

Ако декларирате някой параметър като окончателен, не можете да промените стойността му.

 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); } } 
Тествайте сега
 Output: Compile Time Error 

В) Можем ли да обявим конструктор за окончателен?

Не, защото конструкторът никога не се наследява.