Olá pessoal, estou aqui mais uma vez pra tirar um dúvida: Tenho um jFrame que é o GUI do meu projeto e dentro dele preciso invocar um metodo de uma outra classe. Pergunto, qual é a melhor forma de fazer isto, pensando em desempenho e velocidade da aplicação, também não esquecendo a forma eticamente correta (padronização da linguagem). Usar estas maneiras:
new MinhaClasse().meuMetodo();
ou :
MinhaClasse classe = new MinhaClasse();
classe.meuMetodo();
ou criar um metodo estatico e usar:
MinhaClasse.meuMetodo();
Poderiam tambem me explicar a diferença de cada um e quando usa-lo um especifico.
Desde já agradeço
Essa forma:
new MinhaClasse().meuMetodo();
E essa forma:
MinhaClasse objeto = new MinhaClasse();
objeto.meuMetodo();
São equivalentes. Em ambas você está criando uma instância da classe MinhaClasse e chamando o método meuMetodo().
A diferença é que no segundo caso, você associa a instância criada a uma variável. Isso te permitiria chamais mais métodos:
MinhaClasse objeto = new MinhaClasse();
objeto.meuMetodo1();
objeto.meuMetodo2();
A última alternativa, dispensa a instância da classe.
Criar variáveis e método estático é geralmente uma má prática, a menos que você saiba muito bem o que está fazendo.
Não vale a pena falar em performance nesses três casos.
A diferença entre eles é tão pequena, e o custo de uma chamada de método é tão absurdamente baixo, que isso dificilmente será uma preocupação.