Forskjellen mellom endelig og statisk

I matematikk og naturfag er konstanten et begrep som betegner en viss verdi som ‘π’ som er et praktisk navn på tallet 3.14159. Java har sin slags konstanter. Dette er variabler som under (a) ikke tilhører noe objekt, og under (b) endrer ikke verdien når de er satt. Det statiske ordet i variabelerklæringen viser at variabelen ikke tilhører noe objekt. Det er et lignende nøkkelord som sier at variabelverdien bare blir satt en gang og ikke vil endres. Dette er nøkkelordet endelig. Dette nøkkelordet er ikke begrenset til statiske variabler, men kan brukes med forekomstvariabler, lokale variabler, og til og med med variabler som er parametermetoder. Ved å erklære variabelen som en endelig, viser du alle at variabelen under eksistensen vil ha samme verdi. Enda viktigere, kompilatoren vil oppdage hvert forsøk på å endre verdien av en så deklarert variabel og rapportere den som en feil. Når det gjelder Java-terminologien, kalles variabelen som er erklært som statisk og endelig en konstant.



Hva er endelig?

Den endelige modifisereren kan brukes flere steder i Java-programmeringsspråket. Her vil vi dekke den vanligste bruken. Den endelige modifikatoren kan brukes på erklæringen av en lokal variabel, funksjonsargument og ikke-statiske eller statiske medlemsvariabler. I denne sammenhengen konverterer den variable modifisereren til en konstant. Oversetteren for oversettelsesspråk vil sjekke om noen koder prøver å endre verdien, og slike forsøk vil bli markert som en feil. Her er et eksempel.



endelig int-verdi = 17;

Statiske medlemsvariabler med denne modifisereren brukes som globale konstanter; for eksempel i java.lang.Math-variabelen PI, er det oppgitt nøyaktig



offentlig statisk endelig dobbel PI = 3.14159265358979323846;

Vi kan bruke den endelige modifikatoren til funksjonserklæringen. Funksjonen merket med finalen kan ikke lenger overstyres - det er den endelige implementeringen. De abstrakte metodene kan ikke erklæres endelige - det faktum at de er abstrakte betyr at de mangler implementering; det kan absolutt ikke være deres ultimate tilstand. Her er et eksempel.

public final int meaningLife () {



retur 42;

}

Vi kan bruke den endelige modifisereren på klassedeklarasjonen. Klassen som er merket med finalen kan ikke lenger arve - det er den endelige implementeringen. Det er klart at abstrakt klasse ikke kan være endelig samtidig. Her er et eksempel

offentlig finaleklasse Stengt {

// ...

}

Et av de eksklusive klasseeksemplene er java.lang.String-klassen - den er endelig, så ingen kunne arve den og dermed få tilgang til medlemsvariablene.

Hva er statisk?

Statiske variabler tilhører ikke en spesiell forekomst av klasse. Statiske variabler hører til selve klassen, og i minnet er det bare ett sted, uavhengig av antall kopier av den klassen som er opprettet i minnet. Ikke-statiske variabler tilhører klasseprøver - hver forekomst av klassen har sin egen kopi av slike variabler. Statiske variabler tilhører klasse - klassen i minnet beholder verdiene til slike variabler; alle prøveklasser ser derfor det samme innholdet slik at vi kan vurdere statiske variabler som skal deles mellom alle klassestørrelser. Ved å oppdatere verdivariabelen vil den nye verdien være automatisk synlig for alle forekomster av den klassen. Statisk filter kan brukes på ethvert element som er lovlig erklært i en klasse. Når det gjelder medlemsvariabler, er konsekvensen at slike medlemsvariabler bare blir lagret i minnet på ett sted. Hva skjer hvis det er en metode? Ved å erklære metoden som statisk, er meldingen den samme: den relevante metoden tilhører ikke klasser av klasser, men til klassen selv. Følgelig vil ikke statiske metoder motta en skjult referanse til objektet som de blir kalt over på; i statiske referansemetoder er dette utilgjengelig. Faktisk er å påkalle statiske metoder over objektet like forvirrende som å få tilgang til statiske medlemsvariabler ved å referere til denne referansen: i begge tilfeller er det bedre å bare skrive navnet på klassen, poenget og navnet på anropsmetoden.

Forskjellen mellom endelig og statisk

  1. Variabel

Static står for en variabel som er felles for alle objekter som instantierer en gitt klasse mens final definerer konstanten.

  1. Metode

Statisk er en metode som er den samme for hvert objekt gitt klasse - kalles også klassemedlem f.eks. slik er hovedmetoden. Endelig metode kan ikke behandles i den arvede klassen.

  1. Klasse

Finalen kan ikke utvides, dvs. tillater ikke underklasser. Statisk gjelder ikke klassen.

  1. Verdi

For å si det enkelt, betegnet endelig at verdien ikke kan endres (overstyre). Statisk verdi er satt til standardverdien, men kan initialiseres på nytt.

Final vs. Statisk: Sammenligningskart

Sammendrag av Final og Static

  • Nøkkelarbeidsstatikken gir tilgang selv når det ikke er noe objekt (forekomst). Fremtredende klasser blir erklært gjennom stikkordet statisk. Hvis du ikke vil at verdien av noen endringer senere i programmet skal gå, eller hvis du vil at kompilatoren skal kontrollere og forby, kan du endre dette løftet til finalen. Det er en statisk blokk for initialiseringen. Den statiske blokken for initialiseringen er erklært som nøkkelen statisk foran parentesene. Denne typen blokkering utføres en gang under lesing av klassene, og den initialiserer vanligvis de statiske medlemmene i klassen.

Populære Innlegg

Forskjellen mellom stål og kobber

Stål mot kobber Stål er en metalllegering, mens kobber forekommer naturlig, som et av de få metaller som eksisterer som et element i sin naturlige form i verden.

Forskjellen mellom fugemasse og mørtel

Fugemasse og mørtel er de to populære sementbaserte produktene i tillegg til betongen som brukes i bygg- og boligforbedringsprosjektene. Samtidig som

Forskjellen mellom EHR og PHR

EHR vs PHR Electronic Health Record (EHR) og Personal Health Record (PHR) er ikke det samme i noe aspekt. Selv om de to er relatert til samlingen

Forskjellen mellom Facebook og Flickr

Facebook vs Flickr I dagens verden, som hovedsakelig er avhengig av online-interaksjon, er det mange muligheter for hvordan du kan administrere ditt 'digitale sosiale liv'

Forskjellen mellom Razor Burn og Herpes

I. Innledning Huden er et av kroppens største organer som dekker opptil 1,5 til 2 kvadratmeter av den totale kroppsoverflaten til en voksen (1). Dens primære rolle

Forskjellen mellom opplyst is og halo topp iskrem
Mat

Iskrem, som i utgangspunktet er frossen mat, er en populær matvaretype som i utgangspunktet spises som en dessert eller en matbit. Den er laget av animalsk eller plantemelk og er