O que é o formato de ficheiro JAVA?
Um arquivo .java é um arquivo de código-fonte em texto simples escrito na linguagem de programação Java. Java é uma linguagem de programação orientada a objetos construída em torno dos conceitos de classes e objetos. Os arquivos de origem .java são compilados pelo compilador javac em arquivos de bytecode .class; para executar o programa resultante, é necessária uma Java Virtual Machine (JVM). Java é também a linguagem principal usada para desenvolver aplicativos Android.
Programação orientada a objetos
Java foi fortemente influenciado pelo C++, embora tenha sido projetado do zero como uma linguagem independente de plataforma. Os designers originais aceitaram algumas compensações na velocidade bruta de execução para alcançar a portabilidade «escreva uma vez, execute em qualquer lugar»; a compilação JIT (just-in-time) moderna desde então fechou grande parte dessa lacuna. Arquivos .java são construídos quase inteiramente a partir de declarações de classes, interfaces, enums e records, com apenas um pequeno conjunto de tipos primitivos (como int, boolean e double) ficando fora do modelo de objeto. Por convenção, cada arquivo .java contém exatamente um tipo público, e o nome do arquivo deve corresponder ao nome desse tipo - por exemplo, App.java deve conter public class App.
Para simplificar, uma classe é uma generalização - um modelo - de um objeto:
- *Classe:* humano - *objeto:* João Silva
- *Classe:* avião - *objeto:* Boeing 737
Cada classe define as propriedades que um objeto pode ter (por exemplo, um carro pode ter propriedades como cor, número de assentos, etc.) e os métodos que ele pode executar - ou seja, as operações ou ações que ele pode realizar (por exemplo, um objeto carro pode acelerar, frear e buzinar). As classes podem herdar de outras classes ou compor outras classes, permitindo o reuso de código e o design modular.
Compilar um arquivo .java com javac produz um arquivo .class; múltiplos arquivos .class são comumente empacotados em um arquivo JAR para distribuição. Desde o Java 11, um programa .java de arquivo único também pode ser iniciado diretamente com o comando java sem uma etapa de compilação explícita.
Segurança e proteção
RISCO: LOWUm arquivo .java é um texto de origem passivo - abri-lo ou lê-lo não pode prejudicar seu computador. O risco aparece apenas se você COMPILAR e EXECUTAR: como qualquer programa que você constrói a partir do código de outra pessoa, ele é executado com suas permissões e pode fazer qualquer coisa que o código diga, portanto, revise ou confie na fonte antes de executar «javac»/«java». Não há execução automática apenas ao visualizar o arquivo em um editor.
Detalhes do formato
em resumoProgramas que abrem arquivos JAVA
Detalhes técnicos
especificação profunda| Tipo MIME | text/x-java-source (também aceito como text/x-java) |
| Codificação de texto | UTF-8; o padrão para o javac desde o Java 18 (2022); toolchains mais antigos exigem uma flag -encoding explícita |
| Assinatura do arquivo | Nenhuma - texto simples sem magic bytes; normalmente abre com uma declaração de pacote, instruções de importação ou uma definição de classe |
| Saída da compilação | javac compila cada arquivo .java em um ou mais arquivos de bytecode .class, um por tipo definido no código-fonte |
| Um tipo público por arquivo | O nome de um tipo público deve corresponder exatamente ao nome do arquivo - ex: App.java deve declarar public class App; violar isso gera um erro de compilação |
| Ordem da estrutura do arquivo | Declaração de pacote opcional → instruções de importação → declarações de classe, interface, enum ou record contendo campos e métodos |
| Tamanho típico do arquivo | 1 KB - 100 KB; uma pequena classe utilitária pode ter menos de 1 KB, uma classe grande raramente excede 100 KB |
| Suporte de plataforma | Multiplataforma: Windows, macOS, Linux e qualquer SO com um JDK instalado; o mesmo código-fonte compila em todas as plataformas |
| Mecanismo de versão da linguagem | O nível de sintaxe não é armazenado dentro do próprio arquivo; é controlado no momento da compilação via javac --release N (ex: --release 21) |
| Tipos primitivos | Oito primitivos integrados - int, long, double, float, boolean, char, byte, short - existem ao lado dos tipos de objeto |
| Adições de sintaxe moderna | Records (Java 16), classes seladas (Java 17), correspondência de padrões para switch (Java 21), padrões e variáveis sem nome (Java 22) |
| Lançamento direto (Java 11+) | Um arquivo .java de fonte única pode ser executado com java FileName.java sem uma etapa prévia de compilação javac |
| Empacotamento de implantação | Múltiplos arquivos .class compilados são agrupados em um arquivo .jar para distribuição e execução em qualquer JVM |
| Gestão da linguagem | Especificação da linguagem Java mantida pela Oracle; implementação de código aberto via OpenJDK sob o Java Community Process (JCP) |
| Ferramentas de desenvolvimento comuns | IntelliJ IDEA, Eclipse IDE e Visual Studio Code (com o Java Extension Pack) fornecem ferramentas de linguagem completas para arquivos .java |
| Lançado | 1995 (Java 1.0, Sun Microsystems) |
| Versão mais recente | Tracks the Java language version; Java 24 (2025) is current at time of writing |
| Padrão aberto | Sim · livre de royalties |
| Especificação | docs.oracle.com |
Conversões de JAVA
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos JAVA.