class ListaJogadores
{
public Vector Jogadores;
public void ListaJogadores()
{
this.Jogadores = new Vector();
this.Jogadores.clear();
}
public void adicionarJogador( EstJogador objJogador ){
this.Jogadores.addElement(objJogador);
}
public void ordenarJogadores(){
Collections.sort( this.Jogadores , new Comparacao() );
}
public static void main(String args[])
{
EstJogador objJog = new EstJogador();
objJog.setNome("Cássius");
objJog.setNumAcertos(1);
objJog.setNumErros(2);
this.adicionarJogador( objJog );
}
}
Como resolver o erro non-static: variable this cannot be referenced from a static context?
Olá cyabert!
Tente tirar o “this.” do trecho abaixo!
objJog.setNumAcertos(1);
objJog.setNumErros(2);
this.adicionarJogador( objJog );
}
Ficando assim:
objJog.setNumAcertos(1);
objJog.setNumErros(2);
adicionarJogador( objJog );
}
Na verdade, acredito que o “this.” não é necessário em nenhuma parte deste código!
Se não funcionar avisa aí que a gente dá mais uma verificada! 
[quote=“Adornes”]Olá cyabert!
Tente tirar o “this.” do trecho abaixo!
objJog.setNumAcertos(1);
objJog.setNumErros(2);
this.adicionarJogador( objJog );
}
Ficando assim:
objJog.setNumAcertos(1);
objJog.setNumErros(2);
adicionarJogador( objJog );
}
Na verdade, acredito que o “this.” não é necessário em nenhuma parte deste código!
Se não funcionar avisa aí que a gente dá mais uma verificada!
[/quote]
Olá cyabert, concordo com o Adornes…
Pelo que eu entendi, do q eu sei de Java até agora (estou apenas começando como vc), o this é usado quando queremos referenciar uma instância que ja existe e já que vc não criou nenhuma variável na declaraçao da sua classe, nao vejo pq coloca o this (me corrijam se falei alguma besteira)
Cara o problema tá em você chamar um método NÃO “static” a partir de um método “static”. Você poderia instaciar seu objeto ListaJogadores no método main() e fazer as chamadas dos outros métodos a partir construtor.
Espero ter ajudado
o This, é usado quando vc está fazendo uma referência a um objeto e sua classe específica.
Por exemplo, se vc estiver usando uma classe qualquer e extends JFrame , o this vai ser usado para referenciar todos os métodos relacionados ao JFrame.
Seria assim.
Class exemplo extends JFrame{
exemplo(){
this.setTitle(“Nome da Janela”);
this.setSize(x,y); //tamanho da janela
this.add(JMenu); insere um menu caso vc tenha um;
…
}
}