Gostaria de saber, qual a vantagem e desvantagens de cada chamada de método abaixo, e aonde interfere no projeto.
grato pela atenção.
1 - new Car().goThings();
2 - método static
goThings();
3 - instância de classe
car.goThings();
Gostaria de saber, qual a vantagem e desvantagens de cada chamada de método abaixo, e aonde interfere no projeto.
grato pela atenção.
1 - new Car().goThings();
2 - método static
goThings();
3 - instância de classe
car.goThings();
Não sei se entendi a sua dúvida. Não sei se existem vantagens ou desvantagens, são abordagens diferentes.
Na opção 1 você faz exatamente a mesma coisa que faz na opção 3 só que não guarda a referência do objeto construído.
A única diferença está na opção 2, onde você invoca um método estático. Métodos estáticos são bons em classes utilitárias, ou para criar outros objetos. por exemplo:Collections.sort(lista); // Ordena uma lista
Connection connection = DriverManager.getConnection(url, user, password); // Constrói um objeto Connection
DateFormat dateFormat = DateFormat.getInstance(); // Constrói um objeto DateFormat
Era isso que você estava perguntando? Se não for tente explicar melhor
É isso mesmo que o
Rodrigo Sasaki está falando
e vale lembra que métodos estáticos são métodos de classe e não de instância, então por convenção devesse chamá-los pelo nome da classe ao invés da instância