- Коначна варијабла
- Коначна метода
- Завршни час
- Да ли се коначна метода наслеђује?
- Празна коначна варијабла
- Статичка празна коначна променљива
- Коначни параметар
- Можете ли да прогласите коначни конструктор
Тхе коначна кључна реч у Јави се користи за ограничавање корисника. Кључна реч јава финал може се користити у многим контекстима. Финале може бити:
- променљива
- методом
- класа
Финална кључна реч се може применити са променљивим, коначна променљива која нема вредност назива се празна коначна променљива или неиницијализована коначна променљива. Може се иницијализовати само у конструктору. Празна коначна променљива такође може бити статична која ће бити иницијализована само у статичком блоку. О њима ћемо детаљно научити. Хајде да прво научимо основе кључне речи финал.
скривене апликације
1) Јава коначна променљива
Ако било коју променљиву направите као коначну, не можете променити вредност финалне променљиве (она ће бити константна).
Пример коначне променљиве
Постоји коначно ограничење брзине променљиве, променићемо вредност ове променљиве, али она се не може променити јер се коначна променљива једном додели вредност никада не може променити.
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) Јава завршни метод
Ако било који метод направите као коначан, не можете га заменити.
Пример завршне методе
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) Јава завршни разред
Ако неку класу направите као коначну, не можете је продужити.
Пример завршног часа
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
П) Да ли се коначна метода наслеђује?
Одговор) Да, финални метод је наслеђен, али га не можете заменити. На пример:
class Bike{ final void run(){System.out.println('running...');} } class Honda2 extends Bike{ public static void main(String args[]){ new Honda2().run(); } }Тестирајте одмах
Output:running...
П) Шта је празна или неиницијализована коначна варијабла?
Коначна променљива која није иницијализована у време декларације позната је као празна коначна променљива.
Ако желите да креирате променљиву која је иницијализована у време креирања објекта и када се једном иницијализира не може да се промени, то је корисно. На пример број ПАН КАРТИЦЕ запосленог.
Може се иницијализовати само у конструктору.
Пример празне коначне променљиве
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
статичка празна коначна променљива
Статичка коначна променљива која није иницијализована у време декларације позната је као статичка празна коначна променљива. Може се иницијализовати само у статичком блоку.
Пример статичке празне коначне променљиве
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
П) Можемо ли конструктор прогласити коначним?
Не, јер се конструктор никада не наслеђује.