Hva er endelig nøkkelord i Java | Forklart

Hva er endelig nøkkelord i Java | Forklart
Java gir flere nøkkelord som kan brukes til forskjellige formål som abstrakt, for, do, finale osv. Hvis vi snakker om det endelige nøkkelordet, kan det brukes med Java -klasser, variabler og metoder. Men hvorfor skal vi bruke det, og til hvilket formål er det endelige nøkkelordet som brukes i Java? Vel i Java begrenser det endelige nøkkelordet/stopper brukerne fra å endre verdien på variabelen, overstyre metoden og arve klassen.

Denne artikkelen vil beskrive følgende aspekter ved Javas "endelige" nøkkelord:

  • Hva er det endelige nøkkelordet i Java
  • Endelige variabler i Java
  • Endelige metoder i Java
  • Sluttklasser i Java
  • Eksempler

Så la oss begynne!

Hva er det endelige nøkkelordet i Java

Det er et nøkkelord som kan brukes med Java -klasser, metoder og klasseattributter/variabler. I Java gjør bruken av det endelige nøkkelordet klasser, variabler og metoder som ikke er skiftende.

Endelige variabler i Java

Hvis en variabel er deklarert/opprettet som endelig Det betyr at verdien på den variabelen ikke kan endres/endres. En endelig variabel som er uinitialisert, kan bare initialiseres ved hjelp av Java -konstruktørene.

Eksempel 1

I dette eksemplet vil vi erklære en variabel som endelig, og vi vil prøve å endre verdien av en slik variabel:

publicClassFinalExample
endelig strengnavn = "Joe";
publicStaticVoidmain (String [] args)
FinalExample OBJ = newFinalExample ();
obj.name = "Alex";

I hovedmetoden opprettet vi for det første gjenstanden for “FinalExample” Klasse og etterpå prøvde vi å endre den variable verdien ved å bruke klassens objekt:

Utgangen viste at vi møtte en feiltidsfeil.

Endelige metoder i Java

Hvis vi bruker det endelige nøkkelordet med en Java -metode, kan det ikke overstyres.

Eksempel 2

I dette eksemplet vil vi lage en metode "vise()" bruker endelig nøkkelord:

ClassPersonClass
finalVoidDisplay ()
System.ute.Println ("Dette er personklasse");


publicClassEmployeeclassextendspersonClass
voidDisplay ()
System.ute.println ("prøver å overstyre visningsmetoden");

publicStaticVoidmain (String [] args)

  • Vi opprettet to klasser: “Personclass”Og“EmployeClass”.
  • Personclass”Har en metode som heter“vise()”.
  • EmployeClass”Arver“Personclass
  • Innenfor “EmployeClass”Vi prøvde å overstyre“vise()" Metode av "Personclass”:

Feilen beviste at den endelige metoden ikke kunne overstyres i Java.

Sluttklasser i Java

I Java kan vi ikke lage en (ytre klasse) klasse som privat eller beskyttet fordi Java er et objektorientert språk, og erklærer en klasse som privat eller beskyttet betyr å begrense klassene som skal arves. Så Java tillater ikke private eller beskyttede klasser. Imidlertid, hvis noen ikke vil gjøre en arvelig klasse, så hva de skal gjøre?

Hvordan hindre en klasse fra å bli arvet i Java?

For å løse dette problemet, endelig Nøkkelord kan brukes med Java -klassene. I Java ville ikke enhver klasse erklært/opprettet med et endelig nøkkelord være tilgjengelig for arven.

Eksempel 3

I dette eksemplet vil vi lage en personklasse med endelig Nøkkelord, og vi vil prøve å arve det fra en annen klasse:

FinalClassPersonClass
voidDisplay ()
System.ute.Println ("Dette er personklasse");


publicClassEmployeeclassextendspersonClass
voidDisplay ()
System.ute.println ("Oversky visningsmetoden");

publicStaticVoidmain (String [] args)

I ovennevnte kodebit:

  • Vi opprettet to klasser: Personclass, og EmployeClass.
  • Personclass er erklært som endelig.
  • EmployeClass prøvde å utvide Personclass.

Ovennevnte utdrag bekreftet at det oppstod en feil i kompileringstidspunktet da vi prøvde å få tilgang til Personclass.

Konklusjon

I Java kan et endelig nøkkelord brukes med en variabel, klasse eller metode. Hensikten med det endelige nøkkelordet er å begrense bruken av Java -variablene, klassene og metodene. Det begrenser/hindrer brukerne fra å endre verdien av variablene, overstyre metodene og arve klassene. Dette innlegget presenterte en grundig oversikt over Javas endelige nøkkelord med passende eksempler.