Aquest bloc il·lustrarà l'ús de blocs estàtics a Java.
Què són els 'blocs estàtics' a Java?
Un bloc s'assigna com a ' estàtica ” associant-hi la paraula clau estàtica. Aquests blocs tenen una prioritat més alta que “ principal ' de manera que s'executen abans del ' principal () ” mètode.
Sintaxi
classe principal {
estàtica {
Sistema . fora . imprimirln ( 'Hola món' ) ;
} }
A la sintaxi anterior, el bloc inclòs s'assigna com a ' estàtica ” i s'invocarà abans del principal.
Consideracions importants sobre els 'blocs estàtics'
- Els blocs estàtics a Java s'invoquen automàticament quan la classe es carrega a la memòria.
- S'executen només una vegada, fins i tot si es creen diversos objectes de classe.
- No hi ha cap limitació/restricció sobre el nombre de blocs d'inicialització estàtics dins d'una classe.
- Aquests blocs també es poden utilitzar per inicialitzar les variables estàtiques.
Exemple 1: Ús de 'Blocs estàtics' a Java
En aquest exemple, el bloc estàtic es pot utilitzar per observar la seqüència en què es pot executar respecte a main:
Exemple publicclass {
estàtica {
Sistema . fora . imprimirln ( 'Aquest és un bloc estàtic!' ) ;
}
publicstaticvoidmain ( Corda [ ] args ) {
Sistema . fora . imprimirln ( 'Això és principal!' ) ;
} }
Al bloc de codi anterior, només cal incloure un ' estàtica ” bloqueja l'acumulació del missatge indicat i en el següent pas, mostra el missatge donat a “ principal ”.
Sortida
En aquesta sortida, es pot analitzar que el bloc estàtic s'invoca abans que el principal.
Exemple 2: Execució de valor estàtic dins del 'Bloc estàtic' a Java
En aquesta il·lustració en particular, es pot inicialitzar un valor estàtic al bloc estàtic i, més tard, mostrar-se a la pantalla principal:
classe personalitzada {staticint i ;
estàtica {
i = 10 ;
Sistema . fora . imprimirln ( 'S'ha cridat Bloc estàtic!' ) ;
} }
Exemple publicclass {
publicstaticvoidmain ( Corda [ ] args ) {
Sistema . fora . imprimirln ( costum. i ) ;
} }
A les línies de codi anteriors:
- Primer de tot, creeu una classe anomenada ' costum ”.
- Dins de la classe, especifiqueu un ' estàtica ” variable i inicialitzeu-la a la variable “ assignada estàtica ' bloc.
- Per últim, invoqueu la variable inicialitzada en el principal fent referència a la classe en què està continguda.
Sortida
En el resultat anterior, es pot veure que, així mateix, el “ estàtica ” primer s'executa el bloc i també es mostra el valor inicialitzat en aquest bloc, respectivament.
Exemple 3: Execució del 'Bloc estàtic' abans del constructor
En aquest exemple, el bloc estàtic es pot especificar abans del constructor, i la seva precedència i execució es poden observar en conseqüència:
classe personalitzada {estàtica {
Sistema . fora . imprimirln ( 'Això és un bloc estàtic' ) ;
}
costum ( ) {
Sistema . fora . imprimirln ( 'Aquest és un constructor' ) ;
} }
Exemple publicclass {
publicstaticvoidmain ( Corda [ ] args ) {
personalitzat obj1 = nou costum ( ) ;
personalitzat obj2 = nou costum ( ) ;
} }
A les línies de codi anteriors:
- De la mateixa manera, definiu una classe anomenada ' costum ”.
- Ara, especifiqueu el ' estàtica ” bloqueja i inclou el constructor de classes, és a dir, “ personalitzat () ” tenint els missatges indicats, respectivament.
- En general, creeu dos objectes de la classe creada per invocar les funcionalitats de la classe en l'ordre de precedència corresponent.
Sortida
En aquesta sortida, es poden fer les consideracions següents:
- El bloc estàtic té una prioritat més alta en comparació amb el constructor contingut.
- Es creen dos objectes de la classe, però el bloc estàtic s'executa una vegada, com s'ha comentat abans.
Conclusió
El ' blocs estàtics ' a Java només s'executa una vegada quan es carrega una classe a la memòria i s'executen abans que ' principal () ” mètode. Els exemples comentats a l'article demostren que aquests blocs tenen una prioritat més alta que el constructor principal i el constructor de classes, respectivament, i només s'invoquen una vegada, independentment del nombre d'objectes creats. Aquest bloc va parlar de l'ús de blocs estàtics a Java.