Es un inicializador estático. Se ejecuta cuando la clase está cargada y es un buen lugar para poner inicialización de variables estáticas.
De http://java.sun.com/docs/books/tutorial/java/javaOO/initial.html
Una clase puede tener cualquier número de bloques de inicialización estática, y pueden aparecer en cualquier parte del cuerpo de la clase. El sistema de tiempo de ejecución garantiza que los bloques de inicialización estáticos se invoquen en el orden en que aparecen en el código fuente.
Si usted tiene una clase con un mapa estático de consulta que podría tener este aspecto
class MyClass {
static Map<Double, String> labels;
static {
labels = new HashMap<Double, String>();
labels.put(5.5, "five and a half");
labels.put(7.1, "seven point 1");
}
//...
}
Es útil ya que el campo estático anterior no podría haber sido inicializado usando labels = ...
. Necesita llamar al método put de alguna manera.
Compruebe esto: [Palabra clave estática en java] (http: // programmergate.com/static-keyword-java /) –