Considerando a sintaxe e a semântica da linguagem Java e com...

Próximas questões
Com base no mesmo assunto
Q1370951 Programação

Considerando a sintaxe e a semântica da linguagem Java e com base nos conceitos de programação orientada a objetos, julgue o item a seguir.


Durante a execução, quando a classe que se deseja iniciar não tem o método main, ocorre o erro NoSuchMethodError.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - certo

A questão aborda um conceito fundamental do Java, que é a presença do método main como ponto de entrada de uma aplicação. Em Java, quando se executa uma aplicação, o ambiente de execução (JVM - Java Virtual Machine) procura por este método específico para iniciar o programa. O método deve ser público, estático, não retornar nada (void) e deve receber como argumento um array de strings (String[]).

Quando se tenta executar uma classe que não possui o método main definido conforme a assinatura public static void main(String[] args), a JVM lança um erro em tempo de execução. O erro específico lançado é NoSuchMethodError, indicando que o método solicitado não foi encontrado. Isso ocorre porque a JVM espera encontrar o método main para iniciar a execução e, caso ele não exista, não há como dar início ao processo.

Portanto, a afirmação de que a ausência do método main resulta em um erro NoSuchMethodError durante a execução está correta. É uma maneira da JVM sinalizar que a classe especificada como ponto de entrada do programa Java não está adequadamente configurada para esse fim.

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

A afirmação está incorreta. O erro NoSuchMethodError não ocorre quando a classe que se deseja iniciar não tem o método main.

O erro NoSuchMethodError ocorre quando um código tenta chamar um método específico em uma classe ou objeto, mas o método não é encontrado. Esse erro geralmente ocorre em tempo de execução e indica uma incompatibilidade entre o código compilado e o código em tempo de execução.

Ao iniciar uma aplicação Java, a classe principal (que contém o método main) é especificada na linha de comando. Se a classe especificada não tiver o método main, ocorrerá um erro de compilação ou um erro de execução que indica que o método main não foi encontrado.

Por exemplo, se tentarmos executar uma classe chamada "MinhaClasse" que não possui o método main, receberemos um erro de compilação ou execução, dependendo do contexto.

Clique para visualizar este comentário

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