Olá amigos!
Qual o por quê do erro de execução quando eu executo um .class gerado de um .java com um nome da classe diferente do nome do arquivo?
Essa pergunta é no sentido de entender o comportamento da JVM
Abraço.
Olá amigos!
Qual o por quê do erro de execução quando eu executo um .class gerado de um .java com um nome da classe diferente do nome do arquivo?
Essa pergunta é no sentido de entender o comportamento da JVM
Abraço.
igomes, obrigado pelo link, mas não respondeu a minha pergunta. Na apostila não é explicado o porquê, mas são apresentados os casos em que ocorrem erro (de compilação ou de execução).
Ao refazer o exercício notei que o .class
é gerado não pelo <nome do arquivo>.java
, mas sim pelo nome da classe atribuída nesse arquivo propriamente dito.
Assim pude entender o comportamento da JVM: o fato de eu atribuir o nome do arquivo .java
só serve para apontar corretamente o arquivo na hora de compilação. O bytecode
será gerado conforme o nome da classe que eu atribuir no .java
. Ao utilizar o mesmo nome da classe no arquivo .java
, pode trazer a falsa sensação de que o .class
gerado advém do nome do arquivo .java
, o que não é verdade.
Que interessante Samuel, parabéns por ter tido a coragem pra ir atrás de sanar a sua curiosidade. Confesso que eu fiz a mesma indagação quando estudei Java pelo livro do link postado acima e cheguei na mesma conclusão.
Abraços!
Obrigado pelo feedback, João.
Foi minha primeira participação no GUJ. Foi uma experiência interessante procurar por respostas e postar um tópico, pois me condicionou a olhar mais criticamente para o problema.
Nos vemos no topo