Erro de passagem de objeto por parâmetro

4 respostas
C
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?

4 Respostas

A

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! :wink:

_

“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! :wink:

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)

R

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

H

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;



}

}
Criado 4 de maio de 2005
Ultima resposta 5 de mai. de 2005
Respostas 4
Participantes 5