Hva er statisk og ikke-statisk i Java

Hva er statisk og ikke-statisk i Java

Java bruker først og fremst “statisk”Søkeord for minnestyring. Variabler, blokker og metoder kan alle brukes med det statiske nøkkelordet. I stedet for en bestemt klasseforekomst, refererer det statiske søkeordet til klassen som helhet. Uten det statiske nøkkelordet, i Java, blir metodene og variablene som standard vurdert “ikke-statisk”.

Denne artikkelen vil forklare det statiske og ikke-statiske i Java.

Hva er statisk i Java?

statisk”Er et nøkkelord i Java brukt for minnestyring av variablene og metodene som tilhører en klasse. I Java er det statiske variabler og statiske metoder i klassene, som vil bli diskutert i seksjonene nedenfor.

Hvordan lage statiske variabler i Java?

De statiske variablene er klassevariabler og kan opprettes på klassenivå. Når en variabel er erklært som “statisk”, Oppretter kompilatoren en kopi av variabelen og deler den med alle objekter i klassen. På den annen side fungerer statiske variabler effektivt som globale variabler. Det kan hentes med klassenavnet alene og trenger ikke å brukes med et objekt. Det sparer minne og forbedrer programvarens minneeffektivitet.

Syntaks

For å lage den statiske variabelen i en klasse, bruk syntaksen nedenfor:

offentlig statisk int x = 10;


Her, “x”Er den statiske variabelen som lagrer heltallsverdien”10”.

La oss diskutere hva en statisk metode i Java er og hvordan du lager den.

Hvordan lage statisk metode i Java?

En statisk klassemetode kan nås uten å lage et objekt eller forekomst av en definert klasse. Den kan bare hente statiske datamedlemmer og metoder i samme klasse eller en annen klasse; De har ikke tilgang til ikke-statiske metoder eller variabler.

I tillegg kan ethvert statiske datamedlemmer verdier endres ved en statisk metode.

Syntaks

Følg den gitte syntaks for å lage en statisk metode i Java:

public static void display ()
// Metodens kropp


Syntaksen nedenfor indikerer hvordan du kaller den statiske metoden:

Klassenavn.staticMethod ()


Merk: For å ringe den statiske metoden, vil vi bruke klassenavnet. Vi trenger ikke klasseobjektet for å kalle metoden fordi det statiske nøkkelordet fikser et spesifikt minnested for den metoden i RAM, og minnetildelingen skjer bare en gang i den statiske metoden.

Eksempel

Vi vil lage en statisk metode som heter “vise()”I“Beskjed”Klasse og påkalle det i en annen klasse:

Klassemelding
public static void display ()
System.ute.Println ("Velkommen til Linuxhint");


Her, i hovedmetoden () til en annen klasse som heter “Eksempel”, Vil vi kalle den statiske metodedisplayet () uten å lage et forekomst eller objekt i“Beskjed”Klasse:

Eksempel på offentlig klasse
public static void main (String [] args)
Beskjed.vise();



Utgangen viser at vi har fått tilgang til den statiske metoden til klassen i en annen klasse:


La oss flytte til ikke-statisk i Java.

Hva er ikke-statisk i Java?

Hver metode og variabel i Java uten "statisk”Søkeord er“ikke-statisk”, Og det kan få tilgang til alle statiske metoder og variabler. Det ikke-statiske søkeordet bruker runtime binding, også kjent som dynamisk binding.

Hvordan lage ikke-statiske variabler i Java?

En "ikke-statisk”Variabel er en klassevariabel som ikke er statisk. De ikke-statiske variablene kalles også lokale variabler. Det er definert i en metode, konstruktør eller blokkering. Omfanget av disse variablene er begrenset. Derfor kan vi bare få tilgang til disse variablene i den definerte blokken.

Syntaks

Bruk den gitte syntaks for å lage en ikke-statisk variabel i Java:

offentlig int x = 10;


Her, “x”Er den lokale variabelen som kalles en ikke-statisk variabel som lagrer heltallstypeverdien”10”.

La oss se hva en ikke-statisk metode er i Java og hva er skapelsesprosessen.

Hvordan lage ikke-statisk metode i Java?

Java tillater deg å overstyre den ikke-statiske metoden. Denne typen metoder opprettes ved hjelp av nøkkelordet “ikke-statisk”. I ikke-statiske metoder brukes dynamisk og runtime-binding. Som et resultat kan vi ikke kalle det uten klassens tilfelle. I dette tilfellet tildeles minnet når metoden kalles i den ikke-statiske metoden, og det skjer hver gang.

Syntaks

Følg den gitte syntaks for den ikke-statiske metoden:

public void display ()
// Metodens kropp


For å påkalle den ikke-statiske metoden i Java, må vi først lage et objekt i klassen og deretter kalle den.

La oss flytte til eksemplet for å se hvordan du får tilgang til en ikke-statisk metode i Java.

Eksempel

Her får vi tilgang til den ikke-statiske metoden i en klasse i en annen klasse ved å lage et objekt i klassen. For å gjøre det, først vil vi lage en ikke-statisk metode som heter “vise()”Det vil skrive ut uttalelsen ved å bruke“System.ute.println ()”Metode i en“Beskjed”Klasse:

Klassemelding
public void display ()
System.ute.Println ("Velkommen til Linuxhint");


Nå vil vi lage et objekt “msg”Av meldingsklassen i Main () -metoden i den andre klassen som heter“Eksempel”Da vil vi kalle metoden som ikke er-Static Display () med den, fordi de ikke-statiske metodene ikke er tilgjengelig uten objektet for klassen:

Eksempel på offentlig klasse
public static void main (String [] args)
Melding msg = ny melding ();
msg.vise();



Produksjon


La oss gå mot de viktigste forskjellspunktene mellom en statisk metode og ikke-statisk metode i Java.

Forskjell mellom statiske og ikke-statiske metoder i Java

statisk metode

Ikke-statisk metode

Det er erklært med "statisk”Nøkkelord. Ingen grunn til å erklære med noe nøkkelord.
Det er medlem av en klasse, men er ikke medlem av en forekomst av den klassen. Den tilhører en klasse og er både medlem og en forekomst av den klassen.
Bare statiske metoder og datamedlemmer fra samme klasse eller en annen klasse kan nås av den. Det kan få tilgang til statiske og ikke-statiske datamedlemmer og metoder i klassen.
Minnetildeling skjer bare en gang. Når metoden kalles, blir minnet tildelt.
Ingen objekter må opprettes for å få tilgang til det. For å få tilgang til det, må du opprette et klasseobjekt.
Den bruker kompileringstid eller tidlig binding. Den bruker dynamisk eller runtime binding.
Det kan ikke overstyres. Det kan overstyres.


Vi har inkludert all veiledning for Javas statiske og ikke-statiske variabler og metoder.

Konklusjon

I Java er variablene og metodene ikke-statiske som standard, men hovedmetoden () er statisk. For å håndtere minne kan du bruke det statiske nøkkelordet. De statiske metodene kan gjøres tilgjengelige uten å lage et klasseobjekt, i motsetning til de ikke-statiske metodene, som ikke kan nås uten å lage et objekt. I denne artikkelen forklarte vi de statiske og ikke-statiske variablene og metodene med detaljerte forklaringer og eksempler.