Nøkkelforskjell - statisk vs endelig i Java
Hvert programmeringsspråk har en bestemt syntaks. Programmereren skal følge disse syntakene 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. Det statiske og siste er to nøkkelord i Java. Denne artikkelen diskuterer forskjellen mellom statisk og endelig i Java. Hovedforskjellen mellom statisk og endelig i Java er at statisk brukes til å definere klassemedlemmet som kan brukes uavhengig av hvilket som helst 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.
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. Sammenligning side om side - statisk vs endelig i Java i tabellform
6. Sammendrag
Hva er statisk i Java?
En klasse består av datamedlemmer (attributter) og metoder. For å kunne kalle metodene, bør det være et objekt fra 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 hjelp av klassenavnet. Se programmet nedenfor.
Figur 01: Java-program med statiske variabler og statisk metode
I følge ovennevnte program inneholder klasse A tallvariabel og visningsmetode. Begge er statiske medlemmer. Derfor er det ikke nødvendig å lage 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 å instantiere et objekt. Hvis tallvariabelen og visningsmetoden er ikke-statiske, bør det være et objekt av typen A.
Figur 02: Bruk av statisk blokk
Ovennevnte program inneholder den statiske blokken og hovedmetoden. Den statiske blokken kalles når klassen er lastet. Derfor kjøres utsagnet i den statiske blokken før uttalelsen i hovedblokken. Hvis det er mange statiske blokker, vil de utføres i rekkefølge.
Hva er siste i Java?
I programmet kan det være variabler av forskjellige 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 følge programmet ovenfor er x en endelig variabel. Den tildeles en verdi 5. Den kan ikke endres til en annen verdi fordi den blir erklært som endelig. Java støtter Objektorientert programmering (OOP). En søyle i OOP er en polymorfisme. Én type polymorfisme er overordnet. Klasse A har visningsmetoden. Klasse B utvider klasse A og har sin egen visningsmetode. Når du lager et objekt av type B og ringer vil displaymetoden skrive ut "B" som utdata. Visningsmetoden i klasse A overstyres av visningsmetoden i klasse B.
Hvis programmereren skal unngå å overstyre en metode, kan han bruke det endelige 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.
Figur 04: siste nøkkelord i metoden
En annen søyle i OOP er arv. Det hjelper å gjenbruke den allerede eksisterende koden. Den nye klassen kan strekke seg fra den eksisterende klassen og bruke dataelementene og metodene til den eksisterende klassen. Hvis det er nødvendig å slutte å arve en klasse, kan programmereren bruke nøkkelordet 'final'. Se programmet nedenfor.
Figur 05: siste nøkkelord i klassen
I henhold til ovennevnte program blir klasse A erklært som endelig. Når klasse B strekker seg A, gir det en feil fordi klasse A blir 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?
Diff Article Midt før tabell
statisk vs finale i Java |
|
Statisk nøkkelord angir at en medlemsvariabel, eller metode, er tilgjengelig uten å kreve en instantiering av klassen den tilhører. | Det siste nøkkelordet betegner en enhet som bare kan tildeles en gang. |
Variabler | |
De statiske variablene kan initialiseres på nytt. | De endelige variablene kan ikke initialiseres på nytt. |
Metoder | |
Kan kalles med andre statiske metoder og kun få tilgang til de statiske medlemmene i klassen. | De endelige metodene kan ikke overstyres. |
Klasse | |
Det statiske klasseobjektet kan ikke opprettes. Den inneholder bare statiske medlemmer. | Den endelige klassen kan ikke arves av andre klasser. |
Blokkere | |
Det statiske nøkkelordet kan brukes i en blokk. | Det siste nøkkelordet 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 statisk og endelig i Java er at statisk brukes til å definere klassemedlemmet som kan brukes uavhengig av hvilket som helst 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 bli arvet.