oi Luiz,

é exatamente o que vc falou, a segunda chamada é a que valerá, mas é arrado vc afirmar que "mesma instância de MinhaClasse" , acho que vc quiz dizer isso:


public class MinhaClasse {
  private static MinhaClasse objeto ;
 
  public static void newObjeto() {
   objeto = new ClasseObjeto();
 }  
}

Sendo assim é correto afirmar que todos os clientes terão "suas" variáveis 'objeto' alteradas a cada instância de um cliente. Caso vc queira isso que eu estou tentando dizer é mais intuitivo fazer assim:

public class MinhaClasse {
  private static MinhaClasse objeto ;
 
  public static MinhaClasse getInstance() {
        if (objeto ==null)
                objeto = new MinhaClasse();
        return objeto;
 }  

private MinhaClasse(){

        //construtor PRIVADO da sua classe
}

}


espero ter ajudado.

Qualquer coisa email-me.

[]'s


Atenciosamente
PAULO BRANCO
DIRETIVA DIGITAL



"Luiz Reginaldo" <[EMAIL PROTECTED]>

13/05/2002 15:19
Responder a java-list

       
        Para:        <[EMAIL PROTECTED]>
        cc:        
        Assunto:        [java-list] -- Dúvida!


Pessoal,
 
   Estou com uma dúvida bem interessante. Vamos supor que você tenha uma classe, e na mesma existam alguns métodos estáticos. Existe, nessa classe, um método static newObjeto() que cria uma nova instância de um campo static objeto.
 
public class MinhaClasse {
  private static objeto ;
 
  public static void newObjeto() {
   objeto = new ClasseObjeto();
 }  
}
 
Pois bem, a pergunta é a seguinte: Esta classe será utilizada por clientes em uma aplicação web. Todos os clientes verão a mesma instância de MinhaClasse? Por exemplo, se um cliente chamar newObjeto(), e um segundo cliente chamar newObjeto(), a segunda chamada de método faz com que o objeto do meu primeiro cliente será substituído???
 
Um grande abraço,
 
     Luiz Reginaldo

Responder a