Pessoal,
A minha dúvida é bastante básica mas ainda apanho muito para ela:
- Preciso chamar através de um método main() um método que não é static dentro da mesma classe.
Como poderia fazer isso? Este método que será invocado salva objetos em um arquivo e nao posso fazer isto se o método for static.
Apanho muito a respeito de métodos static e também final, se alguém tiver algum material para eu consultar agradeço.
Valeu,
Crie uma instância da sua classe, ué 
public static void main (String [] args){
MinhaClasse algumnome = new MinhaClasse();
...
algumnome.metodoNaoStatic();
...
}
1 curtida
Olá,
vc instancia a classe no metodo main, que está declarado na propria classe e chama o metodo.

Cria um objeto dessa classe dentro dela mesma:
[code]public class QlqCoisa{
public static void main( String args[] ){
QlqCoisa euMesma = new QlqCoisa();
euMesma.escreve();
}
public void escreve(){
System.out.println(“Escrevendo”);
}
}[/code]
e quanto a métodos final não tem mistério… eles funcionam como um método de instância qualquer, só que não podem ser sobrescritos, ou seja, se vc criar uma classe que herda de uma classe com um método final, vc não pode escrever um método com a mesma assinatura nessa subclasse.
class SuperClasse {
final void metodoFinal(){}
}
class SubClasse extends SuperClasse {
void metodoFinal() {} //Não pode fazer isso, pois metodoFinal é final na SuperClasse
void metodoFinal(int i) {} //Isso pode, pois é uma sobrecarga e, tirando o fato de ter o mesmo nome que o metodoFinal() da SuperClasse, não tem nenhuma outra relação com o mesmo.
}
Valeu Rafael… Endendido!!!
Abraços ae galera!