O que um arquivo .java precisa para compilar?

Durante os meus estudos para certificação da Oracle, surgiu uma questão bem interessante... O que um arquivo .java precisa para compilar? Vamos verificar com a classe Teste.


class Teste{
public static void main(String\[\] args){
} }

Se eu tirar o método main:


class Teste{
}

E tentar compilar:

Banner promocional da Imersão Cloud DevOps da Alura e Google Cloud com o texto "INSCRIÇÕES ABERTAS PARA A PRIMEIRA EDIÇÃO DA IMERSÃO CLOUD DEVOPS" e a informação de 3 aulas gratuitas com certificado. A imagem mostra um desenvolvedor focado usando fones de ouvido em um computador, com uma colega trabalhando ao fundo, e um botão chamativo com a frase "GARANTA A SUA VAGA".

compilando-arquivo-java Ele compila conforme o esperado! Certo agora eu acho que não tem mais nada que possa retirar... Mas e se eu tirar a classe inteira? Ele compila? Sim? Não? O que você acha?

Vamos tentar compilar sem a classe, ou seja, um arquivo vazio:

compilando-arquivo-java2

Compilou??? O que!? Isso mesmo, compilou! Para compilarmos um arquivo .java não precisamos de nada em específico, ou seja, não precisamos de uma classe, método ou qualquer conteúdo. Simples assim!

Caiu na pegadinha e quer se preparar mais? Pensando nisso o instrutor Guilherme Silveira criou a Formação Java na Alura.

Alex Felipe
Alex Felipe

Alex é instrutor e desenvolvedor e possui experiência em Java, Kotlin, Android. Atualmente cria conteúdo no canal https://www.youtube.com/@AlexFelipeDev.

Veja outros artigos sobre Programação