Duvida sobre Static

pessoal pergunta boba: qual a diferença de

public JTextField texto = new JTextField();

e

public static JTextField texto = new JTextField();

acho q este link pode te ajudar

http://www.guj.com.br/posts/list/36637.java#194310

Um dos melhores tópicos sobre a palavra reservada static: http://www.guj.com.br/posts/list/114680.java

http://guj.com.br/java.tutorial.artigo.121.1.guj

Nunca usei static para um JTextField, mas seria o mesmo JTextField para qualquer instância desta classe que ele pertence. Acredito que se você tiver várias instâncias abertas e fizer alguma operação neste JTextField em alguma delas, irá replicar para todas.
O que você pretende fazer com isso? Talvez não seja necessário usar o static.
[]'s

a diferença é que static quer dizer que só pode haver 1… igual high-lander (axo que escreve assim) … isso quer dizer que é uma propriedade compartilhada por todas as intancias dakele objeto… por exemplo

[code]public class Pessoa {
private static String ultimoNome; //propriedade estatica

private String nome; //propriedade não estatica
private String nomeAntesDeMim; //propriedade não estatica

public Pessoa(String meuNome) {
if (ultimoNome == null)
nomeAntesDeMim = “ninguem”;
else
nomeAntesDeMim = ultimoNome;
nome = meuNome;
ultimoNome = meuNome;
}

//método normal
public String getNome() {
return nome;
}

public String getNomeAntesDeMim() {
return nomeAntesDeMim;
}

//método estatico
public static String getUltimoNome() {
return ultimoNome;
}

}[/code]

agora usando essa classe… para exemplificar

[code]Pessoa joao = new Pessoa(“joao”);

System.out.println(“Ultima pessoa cadastrada = :” + joao.getUltimoNome());
Pessoa pedro = new Pessoa(“pedro”);
System.out.println(“Ultima pessoa cadastrada = :” + pedro.getUltimoNome());
Pessoa augusto = new Pessoa(“augusto”);
System.out.println(“Ultima pessoa cadastrada = :” + augusto .getUltimoNome());

//…

System.out.print(“Meu nome é " + joao.getNome())
System.out.print(” antes de mim foi cadastrado " + joao.antesDeMim())
System.out.println(" e a ultima pessoa cadastrada foi " + Pessoa.getUltimoNome());

System.out.print(“Meu nome é " + pedro.getNome())
System.out.print(” antes de mim foi cadastrado " + pedro.antesDeMim())
//veja que mesmo invocando diretamente de pedro sai o mesmo nome
System.out.println(" e a ultima pessoa cadastrada foi " + pedro.getUltimoNome());

System.out.print(“Meu nome é " + antonio.getNome())
System.out.print(” antes de mim foi cadastrado " + antonio.antesDeMim())
System.out.println(" e a ultima pessoa cadastrada foi " + Pessoa.getUltimoNome());

//a maneira mais usual de invocar um método estatico é assim
System.out.println("a ultima pessoa cadastrada foi " +Pessoa.getUltimoNome());

[/code]

note que quando o valor de ultimoNome muda… ele muda para todos… pois esse valor é estatico e portanto compartilhado por todos, ele pertence a classe e não a um objeto instanciado dakela classe…

É Highlanger Lavieri :smiley:

Att.,

Acho que você está querendo complicar onde não é necessário.