Como funciona static{...}

Ola,

Quando que o initializer:

static{...}

é executado?? Como faço para executa-lo, por exemplo, fiz um Singleton, com o seguinte inicializador:

static{ friTabelas = new FriTabelas();}

existindo ainda um getInstance(), onde retorno este friTabelas. Mas não está funcionando. COmo devo proceder??

O bloco static é executado quando a classe é carregada pela primeira vez.

Era para ter funcionado… que erro está dando?

Exemplo:

[code]public class Teste {
public static void main(String[] args) {
Single teste = Single.getInstance();
System.out.println(teste.nome);
}
}

class Single {
public String nome;
private static Single INSTANCE;

private Single() { nome = "bani";}

public static Single getInstance() {
	return INSTANCE;
}

static { INSTANCE = new Single(); }

}[/code]

Porém, uma pessoa normal colocaria o “new Single()” junto com a declaração da variável. Não há necessidade do bloco static neste caso.

Na verdade nao esta dando erro nenhum, apenas nao funcionou, mas como o codigo eh de estudo e esta meio complicado de ler, eu vou dar mais um estudada no meu próprio código.

valeu pela ajuda!!