Métodos estáticos em Java são aqueles que

Próximas questões
Com base no mesmo assunto
Q71805 Programação
Métodos estáticos em Java são aqueles que
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - realizam alguma tarefa que não é dependente do conteúdo de algum objeto.

Para entender esta questão, é essencial que você compreenda o conceito de métodos estáticos na linguagem Java. Um método estático pode ser chamado diretamente no nome da classe sem a necessidade de criar uma instância (objeto) dessa classe. Por não estar associado a qualquer instância específica, ele não pode acessar variáveis de instância (não estáticas) ou métodos de instância sem uma referência explícita a um objeto.

A lógica por trás dos métodos estáticos é que eles fornecem funcionalidades que são relevantes para todas as instâncias da classe, ou mesmo que não são específicas para qualquer instância, por exemplo, uma função matemática como Math.sqrt(), que calcula a raiz quadrada de um número.

Agora, por que a alternativa C é a correta? Porque ela captura exatamente essa natureza dos métodos estáticos: eles realizam tarefas que não dependem do estado (ou conteúdo) de algum objeto da classe. Ou seja, eles operam com base nos argumentos que recebem, ou realizam operações fixas que não requerem dados de um objeto específico.

Os métodos estáticos são úteis em várias situações, como quando você precisa de uma função de utilidade que pode ser usada por diferentes partes do seu código sem a necessidade de instanciar a classe. Por exemplo, você poderia ter um método estático para converter unidades de temperatura ou para validar um CPF. Esse tipo de método pertence à classe e é compartilhado por todas as instâncias.

Vamos ver rapidamente por que as outras alternativas não são corretas:

  • A - Métodos estáticos não estão vinculados a uma instância de objeto, portanto, não dependem do conteúdo de algum objeto.
  • B - Métodos estáticos podem, e de fato são, acessados diretamente pelo nome da classe a que pertencem.
  • D - A questão da instanciação não é relevante para definir um método como estático, embora seja verdade que eles podem ser acessados sem que se faça a instância de um objeto.
  • E - A existência de métodos estáticos não está restrita a subclasses na herança, eles podem existir em qualquer classe.

Espero ter esclarecido suas dúvidas sobre métodos estáticos em Java e por que a alternativa "C" é a correta. Se tiver mais perguntas, fique à vontade para perguntar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Letra C
Ex: Função "Main", que sempre usa método static.
Alternativa D diz : "São acessados por objetos que não necessitam de ser instanciados explicitamente".

Alguem pode me explicar pq ela esta errada ?

Eu imagino que seja pois os métodos static não precisam de objetos para serem acessados .. Seria isso?

Obrigado
Objetos sempre precisam ser instanciados explicitamente. Um método estático pode ser acessado tanto pelo nome da classe, nesse caso não precisa ser instanciada, quanto pelo objeto da classe, nesse caso obrigatoriamente, o objeto deve ser instanciado.
Os métodos estáticos, para serem utilizados, não precisam de que sejam criados objetos de suas respectivas classes, porque a tarefa que eles realizam não dependem de conteúdo de nenhum objeto em especial. A alternativa "d" afirma que os objetos que utilizam (chamam) os métodos estáticos não precisam de ser instanciados e isso não está correto. Questão maliciosa.
Exemplo para entender melhor métodos estáticos:

Classe Carro 
public static int getNumRodas(){

}

public String getColor(){

}

O métodos getNumRodas é static pois é um métodos de classe, ou seja, todo carro possui o mesmo número de rodas. Portanto todo objeto instanciado dessa classe tera o valor igual ao chamar getNumRodas.Já o método getColor é um método não estático, ou seja, cada instancia de carro terá uma cor diferente.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo