Métodos estáticos em Java são aqueles que
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
Ex: Função "Main", que sempre usa método static.
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
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