Imagino que o bloco estatico que ele quer eh aquele definido na classe, como exemplo que ele deu.
Então, vamos la, alguns objetos estao prontos para serem usados assim que forem criados
logo depois de dar o new vc faz o que quizer com ele, ele esta la, bunitinho, então se quizesse ele estatico apenas faria:
public final static Object x = new Object()
então, mas alguns outros, não é soh criar e pronto, vc pode querer fazer alguma coisinha a mais nele, setar alguma propriedade, iniciar alguma coisa, etc, sem que vc possa fazer diretamente no contrutor. Exemplo, suponha que vc quer criar um objeto “X” que tem atributo inteiro “y”, e esse atributo vc quer que seja 7, mas não tem como setar logo de cara no construtor, vc faria assim certo:
X o = new X();
o.setY(7);
Mas agora imagina que vc quer um Objeto desses X como constante estatico numa classe sua, mas quer que essa constante tenha valor Y como 7, como vc esse atributo estatico?! ai que vc usa os blocos estaticos:
public static final X o = new X();
static {
o.setY(7);
}
porque sendo estatico, esse atributo não precisa de objeto, então não tem onde vc colocar na classe para iniciar ele, não adianta colocar em método estatico porque pode ser que quem esteja usando naum chame, naum adianta colocar no contrutor, porque quem esta usando pode ser que não crie nenhum objeto, então tem que colocar num bloco estatico, ai vc tem certeza de que se vc fizer um programa assim apenas:
public class X {
public int y;
}
public class KK {
public static final X o = new X();
static {
o.y = 7
}
public static void main(String[] args) {
Sysout(KK.o.y);
}
}
sabera que o valor de Y eh 7 do objeto X que eh estatico na classe KK. Se não tiver o bloco estatico, vc naum consegue iniciar esse atributo em nenhum outro lugar, faz um teste.
Isso pode ser usado por exemplo em ServiceLocator (pelo menos eu usei eheh), para iniciar objetos estaticos que lancem exceção e tratar elas, etc…
18:00, final de semana, chega de escrever heheh foi mau se naum deu para explicar bem, mas eh que fiz corrido
valeu! espero ter ajudado