- Laatste variabele
- Laatste methode
- Laatste les
- Wordt de uiteindelijke methode geërfd?
- Lege eindvariabele
- Statische blanco eindvariabele
- Laatste parameter
- Kun je een definitieve constructor declareren?
De laatste trefwoord in Java wordt gebruikt om de gebruiker te beperken. Het laatste Java-zoekwoord kan in veel contexten worden gebruikt. Finale kan zijn:
- variabel
- methode
- klas
Het laatste trefwoord kan worden toegepast op de variabelen. Een laatste variabele die geen waarde heeft, wordt een lege eindvariabele of een niet-geïnitialiseerde eindvariabele genoemd. Het kan alleen in de constructor worden geïnitialiseerd. De lege eindvariabele kan ook statisch zijn en wordt alleen in het statische blok geïnitialiseerd. We zullen hierover gedetailleerd leren. Laten we eerst de basisbeginselen van het uiteindelijke zoekwoord leren.
wachtrij en prioriteitswachtrij in Java
1) Java-eindvariabele
Als u een variabele als definitief maakt, kunt u de waarde van de laatste variabele niet wijzigen (deze zal constant zijn).
Voorbeeld van de laatste variabele
Er is een snelheidslimiet voor de laatste variabele. We gaan de waarde van deze variabele wijzigen, maar deze kan niet worden gewijzigd omdat de uiteindelijke variabele, zodra deze een waarde heeft toegewezen, nooit meer kan worden gewijzigd.
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 classTest het nu
Output:Compile Time Error
2) Java-laatste methode
Als u een methode definitief maakt, kunt u deze niet overschrijven.
Voorbeeld van de uiteindelijke methode
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(); } }Test het nu
Output:Compile Time Error
3) Java-eindklasse
Als u een klasse definitief maakt, kunt u deze niet verlengen.
Voorbeeld van de laatste les
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(); } }Test het nu
Output:Compile Time Error
V) Wordt de uiteindelijke methode geërfd?
Ans) Ja, de uiteindelijke methode wordt overgenomen, maar u kunt deze niet overschrijven. Bijvoorbeeld:
class Bike{ final void run(){System.out.println('running...');} } class Honda2 extends Bike{ public static void main(String args[]){ new Honda2().run(); } }Test het nu
Output:running...
V) Wat is een blanco of niet-geïnitialiseerde eindvariabele?
Een eindvariabele die niet is geïnitialiseerd op het moment van declaratie staat bekend als een lege eindvariabele.
Als u een variabele wilt maken die is geïnitialiseerd op het moment dat u het object maakt en die, eenmaal geïnitialiseerd, mogelijk niet meer wordt gewijzigd, is dit handig. Bijvoorbeeld PAN CARD-nummer van een medewerker.
Het kan alleen in de constructor worden geïnitialiseerd.
JavaScript-waarschuwingsvenster
Voorbeeld van een lege eindvariabele
class Student{ int id; String name; final String PAN_CARD_NUMBER; ... }
Que) Kunnen we een lege eindvariabele initialiseren?
Ja, maar alleen in constructor. Bijvoorbeeld:
class Bike10{ final int speedlimit;//blank final variable Bike10(){ speedlimit=70; System.out.println(speedlimit); } public static void main(String args[]){ new Bike10(); } }Test het nu
Output: 70
statische blanco eindvariabele
Een statische eindvariabele die niet is geïnitialiseerd op het moment van declaratie, staat bekend als een statische blanco eindvariabele. Het kan alleen in een statisch blok worden geïnitialiseerd.
Voorbeeld van een statische blanco eindvariabele
class A{ static final int data;//static blank final variable static{ data=50;} public static void main(String args[]){ System.out.println(A.data); } }
V) Wat is de uiteindelijke parameter?
Als u een parameter als definitief declareert, kunt u de waarde ervan niet wijzigen.
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); } }Test het nu
Output: Compile Time Error
V) Kunnen we een constructor definitief verklaren?
Nee, omdat de constructor nooit wordt geërfd.