Forskjellen mellom statisk og endelig i Java

Nøkkelforskjell - statisk vs endelig i Java
 

Hvert programmeringsspråk har en spesifikk syntaks. Programmereren bør følge disse syntaksen når du skriver programmer. Søkeordene til programmeringsspråk har bestemte betydninger i henhold til oppgavene. De leveres av programmeringsspråket og kan ikke brukes til brukerdefinerte variabler, metoder, klasser, etc. Den statiske og endelige er to søkeord i Java. Denne artikkelen diskuterer forskjellen mellom statisk og endelig i Java. De nøkkelforskjell mellom statisk og endelig i Java er det statisk brukes til å definere klassemedlem som kan brukes uavhengig av hvilken som helst gjenstand for klassen mens endelig brukes til å erklære en konstant variabel eller en metode som ikke kan overstyres eller en klasse som ikke kan arves.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er statisk i Java
3. Hva er endelig i Java
4. Likheter Mellom statisk og endelig i Java
5. Side ved side-sammenligning - statisk vs endelig i Java i tabellform
6. Sammendrag

Hva er statisk i Java?

En klasse består av data medlemmer (attributter) og metoder. For å kalle metodene, bør det være et objekt for den spesifikke klassen. Når en metode er deklarert som statisk, er det ikke nødvendig å lage et objekt for å ringe den metoden. Metoden kan kalles ved hjelp av klassenavnet. Se underprogrammet nedenfor.

Figur 01: Java-program med statiske variabler og statisk metode

I henhold til det ovennevnte programmet inneholder klasse A nummervariabel og visningsmetode. Begge er statiske medlemmer. Derfor er det ikke nødvendig å opprette et objekt for å få tilgang til tallvariabelen og visningsmetoden. Programmereren kan skrive klassenavnet direkte for å skrive ut nummeret og ringe til metoden. Så det er ikke nødvendig å instantiere et objekt. Hvis tallvariabelen og skjermmetoden er ikke-statiske, bør det være et objekt av type A.

Figur 02: Bruk av statisk blokk

Ovennevnte program inneholder statisk blokk og hovedmetode. Den statiske blokken kalles når klassen er lastet. Derfor utføres setningen i den statiske blokken før setningen i hovedblokken. Hvis det er mange statiske blokker, vil de kjøre i rekkefølge.

Hva er endelig i Java?

I programmet kan det være variabler av ulike typer. Hvis det er en variabel som int x = 1; senere i programmet, kan den variable verdien endres til en annen verdi. En variabel som er erklært som endelig og initialisert med en verdi, kan ikke endres senere i programmet.

Figur 03: Program med endelig variabel og arv

I henhold til det ovennevnte programmet er x en endelig variabel. Den er tilordnet en verdi 5. Den kan ikke endres noe annen verdi fordi den er erklært som endelig. Java støtter Objektorientert programmering (OOP). En søyle med OOP er en polymorfisme. En type polymorfisme er overordnet. Klasse A har skjermmetoden. Klasse B utvider klasse A og har sin egen visningsmetode. Når du lager et objekt av type B og ringer, vil skjermmetoden skrive ut "B" som utgang. Skjermmetoden for klasse A overskrides av skjermmetoden for klasse B.

Hvis programmereren hva som skal unngås å overstyre en metode, kan han bruke det endelige søkeordet for den metoden. Hvis skjermmetoden i klasse A er endelig, vil skjermmetoden i B gi en feil, fordi denne metoden ikke kan overstyres.

Figur 04: Endelig søkeord i Metoden

En annen søyle av OOP er arv. Det bidrar til å gjenbruke allerede eksisterende kode. Den nye klassen kan strekke seg fra den eksisterende klassen og bruke data medlemmer og metoder i den eksisterende klassen. Hvis det er nødvendig å slutte å arve en klasse, kan programmøren bruke søkeordet 'endelig'. Se underprogrammet nedenfor.

Figur 05: Endelig søkeord i klassen

I følge det ovennevnte programmet er klasse A erklært som endelige. Når klasse B strekker seg A, gir det en feil fordi klasse A er erklært som endelig. Det kan ikke arves av andre klasser.

Hva er likheten mellom statisk og endelig i Java?

  • Både statiske og endelige er nøkkelord i Java.

Hva er forskjellen mellom statisk og endelig i Java?

statisk vs endelig i Java

Statisk nøkkelord angir at en medlemsvariabel, eller metode, kan nås uten å kreve en instansering av klassen den tilhører. Det endelige søkeordet angir et enhet som bare kan tilordnes en gang.
 variabler
De statiske variablene kan gjenopprettes. De endelige variablene kan ikke gjenopprettes.
metoder
Kan kalles av andre statiske metoder og bare få tilgang til de statiske medlemmene av klassen. De endelige metodene kan ikke overskrides.
Klasse
Det statiske klassobjektet kan ikke opprettes. Den inneholder bare statiske medlemmer. Den endelige klassen kan ikke arves av andre klasser.
Blokkere
Det statiske søkeordet kan brukes i en blokk. Det endelige søkeordet brukes ikke med en blokk.

Sammendrag - statisk vs endelig i Java

Denne artikkelen diskuterte to søkeord i Java, for eksempel statisk og endelig. Forskjellen mellom statisk og endelig i Java er at statisk brukes til å definere klassemedlem som kan brukes uavhengig av hvilken som helst gjenstand for klassen mens endelig brukes til å erklære en konstant variabel eller en metode som ikke kan overstyres eller en klasse som ikke kan bli arvet.

Henvisning:

1. Hva er Statisk søkeord i Java | statisk metode og statisk variabel, Telusko Learnings, 6. mars 2015. Tilgjengelig her  
2.7.16 Hvordan bruke Statisk blokk i Java-opplæringen, Telusko Learnings, 30. april 2015. Tilgjengelig her
3.8.13 Hvordan bruke Final Keyword i Java | Metode, klasse og variabel, Telusko Learnings, 26. februar 2015. Tilgjengelig her