Forskjellen mellom statisk og endelig i Java

Innholdsfortegnelse:

Forskjellen mellom statisk og endelig i Java
Forskjellen mellom statisk og endelig i Java

Video: Forskjellen mellom statisk og endelig i Java

Video: Forskjellen mellom statisk og endelig i Java
Video: Java Multithreading : AtomicReference, ScheduledExecutorService и монада Either. Многопоточность. 2024, Juli
Anonim

Key Difference – statisk vs final i Java

Hvert programmeringsspråk har en bestemt syntaks. Programmereren bør følge disse syntaksene når han skriver programmer. Nøkkelordene til programmeringsspråk har spesifikke betydninger i henhold til oppgavene. De leveres av programmeringsspråket og kan ikke brukes til brukerdefinerte variabler, metoder, klasser osv. De statiske og endelige er to nøkkelord i Java. Denne artikkelen diskuterer forskjellen mellom statisk og endelig i Java. Den viktigste forskjellen mellom static og final i Java er at static brukes til å definere klassemedlemmet som kan brukes uavhengig av ethvert objekt i klassen mens final brukes til å erklære en konstant variabel eller en metode som ikke kan overstyres eller en klasse som kan ikke arves.

Hva er statisk i Java?

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

Forskjellen mellom statisk og endelig i Java
Forskjellen mellom statisk og endelig i Java

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

I følge programmet ovenfor inneholder klasse A tallvariabel 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 metodevisningen. Så det er ikke nødvendig å instansiere et objekt. Hvis tallvariabelen og visningsmetoden er ikke-statiske, bør det være et objekt av typen A.

Forskjellen mellom statisk og endelig i Java_Figure 02
Forskjellen mellom statisk og endelig i Java_Figure 02

Figur 02: Bruk av statisk blokk

Programmet ovenfor inneholder den statiske blokken og hovedmetoden. Den statiske blokken kalles når klassen er lastet. Derfor kjøres setningen i den statiske blokken før setningen i hovedblokken. Hvis det er mange statiske blokker, vil de kjøres i rekkefølge.

Hva er finalen 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 variabelverdien endres til en annen verdi. En variabel som er erklært som endelig og initialisert med en verdi kan ikke endres senere i programmet.

Forskjellen mellom statisk og endelig i Java_Figure 03
Forskjellen mellom statisk og endelig i Java_Figure 03

Figur 03: Program med endelig variabel og arv

I følge programmet ovenfor er x en sluttvariabel. Den er tildelt en verdi 5. Den kan ikke endres en annen verdi fordi den er erklært som endelig. Java støtter objektorientert programmering (OOP). En søyle i OOP er en polymorfisme. En type polymorfisme er overordnet. Klasse A har visningsmetoden. Klassen B utvider klasse A og den har sin egen visningsmetode. Når du oppretter et objekt av type B og kaller opp, vil visningsmetoden skrive ut "B" som utdata. Visningsmetoden til klasse A overstyres av visningsmetoden til klasse B.

Hvis programmereren hva skal unngå å overstyre en metode, så kan han bruke det siste nøkkelordet for den metoden. Hvis visningsmetoden i klasse A er endelig, vil visningsmetoden i B gi en feil fordi den metoden ikke kan overstyres.

Forskjellen mellom statisk og endelig i Java_Figure 04
Forskjellen mellom statisk og endelig i Java_Figure 04

Figur 04: siste søkeord i metoden

En annen pilar i OOP er arv. Det hjelper å gjenbruke den allerede eksisterende koden. Den nye klassen kan strekke seg fra den eksisterende klassen og bruke datamedlemmene og metodene til den eksisterende klassen. Hvis det er nødvendig å slutte å arve en klasse, kan programmereren bruke nøkkelordet "finale". Se programmet nedenfor.

Ke3y forskjellen mellom statisk og endelig i Java
Ke3y forskjellen mellom statisk og endelig i Java

Figur 05: siste søkeord i klassen

I henhold til programmet ovenfor er klasse A erklært som endelig. Når klasse B utvider A, gir det en feil fordi klasse A erklæres som endelig. Den 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?

static vs final in Java

Statisk nøkkelord angir at en medlemsvariabel, eller metode, kan nås uten å kreve en instansiering av klassen den tilhører. Det siste søkeordet angir en enhet som bare kan tilordnes én gang.
Variabler
De statiske variablene kan reinitialiseres. De endelige variablene kan ikke reinitialiseres.
Methods
Kan kalles med andre statiske metoder og bare få tilgang til de statiske medlemmene av klassen. De endelige metodene kan ikke overstyres.
Klasse
Det statiske klasseobjektet kan ikke opprettes. Den inneholder bare statiske medlemmer. Den siste klassen kan ikke arves av andre klasser.
Block
Det statiske nøkkelordet kan brukes i en blokk. Det siste søkeordet brukes ikke med en blokk.

Sammendrag – statisk vs finale i Java

Denne artikkelen diskuterte to nøkkelord i Java, for eksempel statisk og endelig. Forskjellen mellom static og final i Java er at static brukes til å definere klassemedlemmet som kan brukes uavhengig av ethvert objekt i klassen mens final brukes til å erklære en konstant variabel eller en metode som ikke kan overstyres eller en klasse som ikke kan gå i arv.

Anbefalt: