Dúvida sobre static

4 respostas
rissato

tenho uma classe “Banco” com um metodo “conecta” (static) e um metodo “busca” (nao-static). Quando eu chamo o metodo busca dentro do main, o compilador retorna:

non-static method busca() cannot be referenced from a static content

eu até poderia tornar o metodo conecta estatico, mas o problema é que eu farei mais de uma busca ao mesmo tempo. O que fazer?

4 Respostas

bzanchet

Não chamar métodos não-estáticos em um contexto estático. 8)

Digo… crie uma instância de Banco, ou algo equivalente. Tua pergunta “o que fazer?” é genérica demais… depende do que, afinal, tu queres fazer.

peczenyj

chama o metodo não-estatico a partir de uma instancia da tua classe Banco

ex:

public class Banco{

public static void conecta(){}
public void busca(){}

public static void main(String []args) {

Banco bank = new Banco();

conecta(); /* ou Banco.conecta(); */

bank.busca(); 

}

}
rissato

uma instancia… isso deve resolver… valew d+
ainda nao estou muito familiarizado com programacao orientada a objetos… mas eu aprendo…

steigert

Membros estáticos pertencem à uma classe, e não a uma instância. Tome cuidado ao usar esse tipo de modificador, pois pode criar uma boa confusão no seu código.

Criado 23 de maio de 2006
Ultima resposta 23 de mai. de 2006
Respostas 4
Participantes 4