Sim. Por exemplo se tiver uma classe Carro.java depois que vc compilar vc vai ter somente a classe Carro.class
Vc pode deixar cada classe em um arquivo *.java.
Depois que vc compilou e gerou os *.class, o usuario final precisa instalar a JVM, pois ela que interpreta os bytecodes, sem a JVM vc nao pode rodar nada em Java
Filipe, segue abaixo as respostas para você… EU posso ter somente uma classe em um arquivo .class?
:arrow: Pode. O seu programa pode ser composto de apenas uma classe em um arquivo .class. O Java tem uma espécie de “.exe”, caso não tenha, qual é a forma que o programa é executado pelo usuário final?
:arrow: Se existe uma espécie de .exe, eu não conheço. Mas existe no Java o arquivo Manifest.mf que funciona como .exe.
Quando você compacta seu programa, ele vira um .jar com todos o seu programa e o que ele contém. Neste .jar você também irá ter o Manifest.mf, que nele tem uma estrutura que quando você clicar duas vezes no .jar, ele irá executar como um .exe.
Segue abaixo um exemplo de um .jar:
Manifest-Version: 1.0
Name: br/com/netset/app/TermMaster/
Main-Class: br.com.netset.app.TermMaster.TermMasterGUI
Class-Path: lib/UtilValidacoes.jar lib/ars/arutil.jar
Specification-Title: "Geração de script para o Term Master"
Specification-Version: "1.0"
Specification-Vendor: "Francisco Silva".
Implementation-Title: "br.com.netset.app.TermMaster"
Implementation-Version: "build"
Implementation-Vendor: "Francisco Silva"
Ola…
Eu vi algo, principalmente nas revista Java Magazine, que existe um compilador para java, o GCJ, não sei quais as plataformas suportadas, mas de uma olhadinha mais aprofundada em thisiscool.com/gcc33_mingw.htm, este para Windows, pesquisando lah vc deverá encontrar algo para Linux entre outras.
Quanto a primeira pergunta, em cada .class, existe uma unica classe, por exemplo, se vc criar várias classes em um único .java, o compilador irá gerar vários .class. Por exemplo, vc criou um .java, chamado foo.java, e lá existe as classes foo, e teste, quando compilar, ele irá criar foo.class e test.class. Se ouver classes internas ele ira criar algo como [CLASSEPRINCIPAL]$[CLASSEINTERNA].class.
Para maiores esclarecimentos consulte o site da Javasoft. www.javasoft.com
:arrow: O usuário que irá rodar o seu programa (usuário final), tem que ter instalado na sua máquina o JVM. Sem ele você não conseguirá rodar nada em Java, certo ?
sim , se por acaso você tiver mais de uma classe definida em seu .java ( seja ela inner class , inner class anonima , ou outra classe definida no mesmo arquivo ) o compilador gerará os respectivos .class para cada classe
java é uma linguagem interpretada ,o padrão é o fonte gerar um bytecode ,que é interpretado pela maquina virtual ,todo projeto que gere .exe não é padrão da linguagem
você pode criar um .jar de suas classes tb ,e criar um .bat ou .sh com comandos para a maquina virtual interpretar sua aplicação , ai para o usuario isso seria quase um executavel ,ele daria 2 cliques e a aplicação abriria , ele não notaria a diferença