[quote=pablofaria]Um Singleton significa que você só vai ter uma instância do Objeto em todo o seu programa.
quando chama seu método: getInstance() você deve retornar uma “REFERÊNCIA” da classe.
A implementação ficaria mais ou menos assim…
public synchronized static Teste getInstance() {
if(teste == null){
teste = new Teste();
}
return teste;
}
O que acontece as vezes, é você achar que sua classe é um Singleton e não é… ex.:
public synchronized static Teste getInstance() {
teste = new Teste();
return teste;
}
Aqui a cada chamado você instancia um novo objeto (mesmo não querendo que isso aconteça)
Ou você retornar uma referência nula da classe
public synchronized static Teste getInstance() {
return teste;
}
Seria uma boa pesquisar sobre Design Partners
http://www.guj.com.br/java.tutorial.artigo.137.1.guj[/quote]
Eu ja li p kct sobre o Singleton, eu sei q eh 1 instancia so p uma classe. Mas na verdade n me convenceu esse getInstance() retornar uma refenrecia p o objeto estatico e unico, entendeste? Nao sei se eh pq em Java eh costume nao trabalhar c passagem por referncia, bem nao sei, mas vou testar aqui com debug e ve se realmente aponta p msm endereco d memoria. Pra mim, esse getInstance() retorna uma copia do objeto unico, eu me convenci q so há uma instancia, mas, pra mim, pela implementacao desse getInstance() pensei q eram feitas copias e nao a passagem do msm endereco de memoria, vo testar e ver aqui.
Pelo q li, e como eu to querendo, gostaria q ele trabalhasse como se existisse uma Classe Variaveis por exemplo e nessas classes existissem apenas variaveis static. E pra acessar, utilizaria “Variaveis.var”. Pq desse jeito sim, ai concordo q eh so uma e nao ha copia nem nd. Eh p Singleton funcionar assim pelo q propoe, eu so quero confirmar. Espero n ter complicado…ehehehe