Static explicito en Java
Java permite agrupar todas las inicializaciones estáticas dentro de una "cláusula de construcción estática" (llamada a veces bloque estático) dentro de una clase. Tiene la siguiente apariencia:
Class Cuchara {
static int i;
static {
i = 47;
}
}
Parece un método, pero es simplemente la palabra clave static seguida de un cuerpo de método.
Este código, como otras inicializaciones estáticas, se ejecuta sólo una vez, la primera vez que se cree un objeto de esa clase o la primera vez que se acceda a un miembro estático de esa clase (incluso si nunca se llega a hacer un objeto de esa clase). Por ejemplo:
class Taza {
Taza (int marcador) {
System.out.println ("Taza (" + marcador + " ) ") ;
}
void f (int marcador){
System.out.println ("f(" + marcador + ")");
}
}
class Tazas {
static Taza cl;
static Taza c2;
static {
cl = new Taza(1);
c2 = new Taza(2);
}
Tazas ( ) {
System.out.println ("Tazas ( ) " ) ;
}
}
public class StaticExplicito {
public static void main(String[] args) {
System.out.println ("Dentro de main ( ) " ) ;
//Tazas.cl.f(99); // (1)
}
//static Tazas x = new Tazas (); // ( 2 )
//static Tazas y = new Tazas (); // (2)
}
Los inicializadores estáticos de Tazas se ejecutan cuando se da el acceso al objeto estático cl en la línea marcada (l), si la línea (1) se marca como un comentario, y se quita el signo de comentario de las líneas marcadas como (2). Si tanto (1) como (2) se consideran comentarios, la inicialización estática de Tazas no se realizará nunca. Además, no importa si una o las dos líneas marcadas (2) dejan de ser comentarios; la inicialización sólo ocurre una vez.
4 Comments
4:58 p.m.
Gracias por la info.. me salvaste la vida!! jaja.. gracias no sabia lo de static{ .
.
.
}
2:26 a.m.
norwaynorsk gqqvk opposed gases contractor ophelia sort mattson deployment tested sharpener
semelokertes marchimundui
2:38 p.m.
Que otros valores se le puede dar al static??
12:48 a.m.
Visit us at the moment to come by more information and facts in the matter of By us at times to come by more facts and facts regarding [url=http://select.compare.com.pl]Kurs makijażu[/url]
Publicar un comentario