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.