hmichel
Setembro 29, 2003, 4:21pm
#1
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??
Bani
Setembro 29, 2003, 4:33pm
#2
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.
hmichel
Outubro 1, 2003, 12:26am
#3
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!!