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?
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.
chama o metodo não-estatico a partir de uma instancia da tua classe Banco
ex:
[code]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();
}
}[/code]
uma instancia… isso deve resolver… valew d+
ainda nao estou muito familiarizado com programacao orientada a objetos… mas eu aprendo…
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.