Vad är statiska block i Java

Vad Ar Statiska Block I Java



Vid programmering i Java kan det finnas ett krav att skriva en uppsättning koder som programmeraren behöver köra under klassladdningen i minnet. Till exempel att uppmana användaren med något meddelande före de tillämpade funktionerna i huvudsak eller prioritera en viktig funktion genom att separera den. I sådana fall är statiska block i Java till hjälp för att effektivisera och hantera funktionerna i utvecklarens ände.

Den här bloggen kommer att illustrera användningen av statiska block i Java.

Vad är 'statiska block' i Java?

Ett block tilldelas som ' statisk ” genom att koppla det statiska nyckelordet till det. Dessa block har högre prioritet än ' huvud ' så att de utförs före ' main() 'metoden.







Syntax



classMain {
statisk {
Systemet . ut . println ( 'Hej världen' ) ;
} }

I ovanstående syntax är det inkluderade blocket tilldelat som ' statisk ” och kommer att åberopas före huvudet.



Viktiga överväganden angående 'statiska block'

  • Statiska block i Java anropas automatiskt när klassen laddas i minnet.
  • Dessa exekveras endast en gång, även om flera klassobjekt skapas.
  • Det finns ingen begränsning/restriktion på antalet statiska initieringsblock inom en klass.
  • Dessa block kan också användas för att initiera de statiska variablerna.

Exempel 1: Användning av 'Statiska block' i Java

I det här exemplet kan det statiska blocket användas för att observera sekvensen i vilken det kan exekveras med avseende på main:





publicclass Exempel {
statisk {
Systemet . ut . println ( 'Detta är ett statiskt block!' ) ;
}
publicstaticvoidmain ( Sträng [ ] args ) {
Systemet . ut . println ( 'Detta är huvud!' ) ;
} }

I ovanstående kodblock, inkludera helt enkelt en ' statisk ' blockera ackumulering av det angivna meddelandet och i nästa steg, visa det givna meddelandet i ' huvud ”.

Produktion



I denna utgång kan det analyseras att det statiska blocket anropas före main.

Exempel 2: Exekvera statiskt värde inom 'Statiskt block' i Java

I denna speciella illustration kan ett statiskt värde initieras i det statiska blocket och senare visas i huvudet:

klassanpassad {
staticint i ;
statisk {
i = 10 ;
Systemet . ut . println ( 'Statiskt block ringde!' ) ;
} }
publicclass Exempel {
publicstaticvoidmain ( Sträng [ ] args ) {
Systemet . ut . println ( beställnings. i ) ;
} }

I kodraderna ovan:

  • Först av allt, skapa en klass som heter ' beställnings- ”.
  • Inom klassen, ange ett ' statisk ' variabel och initiera den i den tilldelade ' statisk ” block.
  • Till sist, anropa den initialiserade variabeln i huvudsak genom att hänvisa till klassen i vilken den finns.

Produktion

I ovanstående resultat kan det ses att likaså ' statisk ” blocket exekveras först, och det initialiserade värdet i detta block visas också.

Exempel 3: Exekvera 'Static Block' före Constructor

I det här exemplet kan det statiska blocket specificeras före konstruktorn, och dess prioritet och exekvering kan observeras i enlighet därmed:

klassanpassad {
statisk {
Systemet . ut . println ( 'Detta är ett statiskt block' ) ;
}
beställnings- ( ) {
Systemet . ut . println ( 'Detta är en konstruktör' ) ;
} }
publicclass Exempel {
publicstaticvoidmain ( Sträng [ ] args ) {
anpassad obj1 = ny beställnings- ( ) ;
anpassad obj2 = ny beställnings- ( ) ;
} }

I kodraderna ovan:

  • På samma sätt, definiera en klass som heter ' beställnings- ”.
  • Ange nu ' statisk ' blockera och inkludera klasskonstruktorn, dvs. ' beställnings() ” med de angivna meddelandena, respektive.
  • Skapa i huvudsak två objekt av den skapade klassen för att anropa klassfunktionerna i prioritetsordning i enlighet därmed.

Produktion

I denna utgång kan följande överväganden göras:

  • Det statiska blocket ges högre prioritet jämfört med den inneslutna konstruktorn.
  • Två objekt i klassen skapas, men det statiska blocket exekveras en gång, som diskuterats tidigare.

Slutsats

den ' statiska block ” i Java körs endast en gång när en klass laddas in i minnet och körs före ” main() 'metoden. De diskuterade exemplen i artikeln bevisar att dessa block har högre prioritet än huvud- respektive klasskonstruktorn och anropas endast en gång, oberoende av antalet skapade objekt. Den här bloggen diskuterade användningen av statiska block i Java.