Dúvida de iniciante

Oi pessoal, sou novo no fórum e tenho algumas ´dúvidas quanto a plataforma Java.

  • EU posso ter somente 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?

Obrigado!

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 :slight_smile:

Filipe, segue abaixo as respostas para você… :slight_smile:
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"

Se você tem mais alguma dúvida, pergunte ! :wink:
Falow!

Veja o FAQ( http://guj.com.br/servlet/guj?MAMUTE_ACTION=br.com.guj.action.ListFaq&MAMUTE_TEMPLATE=ListFaq&LIST_FAQ_GROUP_BY_CATEGORY=true) ou procure por mensagens parecidas aqui no fórum.

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

[]´s

Ahhh… esqueci de falar… :oops:

: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 ? :wink:

respondendo suas 2 perguntas

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

[/quote]

Pessoal, MUITO obrigado mesmo.
Vocês me incentivaram muito mais depois das respostas :smiley:
Voltarei a postar caso tenha alguma dúvida…

OBRIGADO!

Filipe,
Estamos aqui para ajudar … :wink:

Falow…