Considerando a sintaxe e a semântica da linguagem Java e com...
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.
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