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.
peczenyj
chama o metodo não-estatico a partir de uma instancia da tua classe Banco
ex:
publicclassBanco{publicstaticvoidconecta(){}publicvoidbusca(){}publicstaticvoidmain(String[]args){Bancobank=newBanco();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.