MaluPJ
Agosto 7, 2006, 11:17am
#1
Olá, eu criei uma classe que se chama “Splash” para gerar o Splash Screen e tem:
// Singleton pra garantir apenas uma unica instancia na memoria
static {
splash = new Splash();
}
Agora toda alteração qeu eu faço na classe Splash, eh ignorada, será pelo fato de ter instâncias ainda na memória??? Como proceder…
Muito obrigada
Explique melhor. Vc diz q quando altera a variavel splash (q ta no bloco static), nao ve nenhuma mudança, isso?
MaluPJ
Agosto 7, 2006, 12:21pm
#3
Então, eu crio uma instância da classe Splash e rodo o programa…
Depois eu faço uma alteração nesta classe, alterando uma mensagem colocada no System.out.println(“Mensagem 2”); e executo de novo o programa.
Soh que a mensagem escrita na tela, eh a mesma da primeira execução e não o da segunda com nova mensagem. (eu compilei e executei tudo novamente)…
…
Seguinte,
Se voce toda vez que for usar um método da classe Spalsh e antes disso voce chamar o contrutor dela com o modificador new, voce cria efetivamente outro objeto da classe, e é claro, voce não verá diferenças em suas implementações…
Caso voce deseja que só exista uma instância do seu objeto Splash efetivamente rodando, voce terá que implementar um método chamado getInstance()…
De uma olhada também no pattern Singleton…
hum nao ntendi muito bem sua duvida
mas pelo que me parece axo que voce resolve assim…
public static Splash getInstance() {
return Singleton.__instance;
}
private static class Singleton {
static final Splash __instance = new Splash();
}
Uma pergunta: eh uma aplicação web?
MaluPJ
Agosto 7, 2006, 2:31pm
#7
Bom gente,
Agora deu certo Obrigada!!!
Eh uma aplicação desktop
Abraços
Malu :roll: