Hva er statiske blokker i Java

Hva er statiske blokker i Java
Mens programmering i Java, kan det være et krav om å skrive et sett med koder som programmereren trenger å utføre under klassens lasting i minnet. For eksempel å be brukeren med litt melding før de anvendte funksjonalitetene i hovedsak eller prioritere en viktig funksjonalitet ved å skille den. I slike tilfeller hjelper statiske blokker i Java med å effektivisere og håndtere funksjonalitetene ved utviklerens slutt.

Denne bloggen vil illustrere bruken av statiske blokker i Java.

Hva er "statiske blokker" i Java?

En blokk tildeles som “statisk”Ved å knytte det statiske nøkkelordet til det. Disse blokkene har høyere forrang enn “hoved-”Slik at de blir henrettet før“hoved()”Metode.

Syntaks

Classmain
statisk
System.ute.Println ("Hello World");

I syntaks ovenfor tildeles den inkluderte blokken som "statisk”Og vil bli påkalt før hoved.

Viktige hensyn angående "statiske blokker"

  • Statiske blokker i Java påberopes automatisert når klassen er lastet i minnet.
  • Disse utføres bare en gang, selv om flere klasseobjekter er opprettet.
  • Det er ingen begrensning/begrensning i antall statiske initialiseringsblokker i en klasse.
  • Disse blokkene kan også brukes til å initialisere de statiske variablene.

Eksempel 1: Bruk av “statiske blokker” i Java

I dette eksemplet kan den statiske blokken brukes til å observere sekvensen den kan utføres i forhold til hoved:

PublicClass eksempel
statisk
System.ute.Println ("Dette er en statisk blokk!");

publicStaticVoidmain (String [] args)
System.ute.Println ("Dette er Main!");

I ovennevnte kodeblokk, inkluderer du ganske enkelt en "statisk”Blokk som akkumulerer den uttalte meldingen og i neste trinn, vis den gitte meldingen i“hoved-”.

Produksjon

I denne utgangen kan det analyseres at den statiske blokken påkalles før hoved.

Eksempel 2: Utførende statisk verdi innen “statisk blokk” i Java

I denne spesielle illustrasjonen kan en statisk verdi initialiseres i den statiske blokken og senere vist i hovedsak:

classCustom
staticint i;
statisk
i = 10;
System.ute.println ("statisk blokk kalt! ");

PublicClass eksempel
publicStaticVoidmain (String [] args)
System.ute.println (tilpasset.Jeg);

I kodelinjene ovenfor:

  • Først av alt, lag en klasse som heter “tilpasset”.
  • Innenfor klassen, spesifiser en "statisk”Variabel og initialiser den i den tildelte“statisk”Blokk.
  • Til slutt påkaller den initialiserte variabelen i hovedsak ved å referere til klassen den er inneholdt.

Produksjon

I ovennevnte utfall kan det sees at på samme måte "statisk”Blokk utføres først, og den initialiserte verdien i denne blokken vises også henholdsvis.

Eksempel 3: Utfør "Statisk blokk" før konstruktør

I dette eksemplet kan den statiske blokken spesifiseres før konstruktøren, og dens forrang og utførelse kan observeres deretter:

classCustom
statisk
System.ute.Println ("Dette er en statisk blokk");

tilpasset()
System.ute.Println ("Dette er en konstruktør");

PublicClass eksempel
publicStaticVoidmain (String [] args)
tilpasset obj1 = ny tilpasset ();
tilpasset obj2 = ny tilpasset ();

I kodelinjene ovenfor:

  • På samme måte definer en klasse som heter “tilpasset”.
  • Nå, spesifiser "statisk”Blokk og inkluderer klassekonstruktøren, jeg.e., “tilpasset()”Å ha de uttalte meldingene henholdsvis.
  • I hovedsak kan du lage to objekter i den opprettede klassen for å påkalle klassefunksjonalitetene i rekkefølgen av forrang deretter.

Produksjon

I denne utgangen kan følgende betraktninger gjennomføres:

  • Den statiske blokken får høyere forrang sammenlignet med den inneholdte konstruktøren.
  • To objekter i klassen er opprettet, men den statiske blokken utføres en gang, som diskutert før.

Konklusjon

statiske blokker”I Java utfør bare en gang når en klasse er lastet inn i minnet og utføres før“hoved()”Metode. De diskuterte eksemplene i artikkelen viser at disse blokkene har høyere forrang enn henholdsvis hoved- og klassekonstruktøren, og bare påberopes en gang, uavhengig av antall opprettede objekter. Denne bloggen diskuterte bruken av statiske blokker i Java.