Estrutura do Arquivo .java

Posted by Bruno Rozendo on Tue, Jul 18, 2017
In
Tags jdk, java

Arquivos com extensão .java tem uma estrutura bem definida, nesse artigo vamos fazer um overview dessa estruta.

Dentro dos arquivos .java há a declaração da class e mais 2 unidade básicas: as variavaveis e os metodos .

Vamos ao primeiro exemplo válido:

meuArquivo.java





Sim esse é um arquivo vazio, o qual é totalmente válido:

Terminal
$ javac meuArquivo.java 
$

Declaração da classe

Ok, mas um arquivo vazio na server de nada, então vamos add a declaração da class

meuArquivo.java
class MeuJava{

}

Agora vamos compilar

Terminal
$ javac meuArquivo.java 
$ ls
meuArquivo.java  MeuJava.class

Repare que nome da class é diferente do nome do arquivo .java e o arquivo gerado tem o nome da class diferente, isso é válido (pelo menos nessa situação).

Além da class existem somente mais 2 possibilidades: enum e interface.

Veja como ficaria

meuArquivo.java
enum MeuJava{

}

ou poderia ser

meuArquivo.java
interface MeuJava{

}

Então vamos falar sobre variáveis.

De forma simples: variáveis guardam informações.

Tanto class como interface e enum pedem ter váriaveis.

Então vamos por variáveis na nossa class para vêr como funciona.

class MeuJava{
	String euSouVariavelForaDoMetodo = "meu texto fora";
	public static void main(String[] args){	
		String euSouVariavelDentroDoMetodo = "meu texto dentro";
		System.out.println(euSouVariavelDentroDoMetodo);
	}
}

Compilando e executando

Terminal
$ javac meuArquivo.java 
$ java MeuJava 
meu texto dentro
$ 

Sobre métodos

Tanto class como interface e enum pedem ter métodos.

Agora criar aquele método conhencido (main, e que é somente válido para class):

class MeuJava{
	public static void main(String[] args){
		System.out.println("entendendo java");
	}
}

Caso esteja apredendo java agora, ire fazer a seguinte analogia

Para começar uma partidade de futebol alguém tem de dar o primeiro toque. Para começar um programa ele tem de iniciar por algum lugar especifico e esse lugar é o metodo main

Agora vamos compilar e executar

Terminal
$ javac meuArquivo.java 
$ java MeuJava 
entendendo java
$

Vemos que ao executar o arquivo gerado informarmos o nome da classe (MeuJava) e não o nome do arquivo.

Outra consideração

Dentro de um arquivo java pode háver mais de uma class, enum ou interface

Veja esse samba do crioulo doido (o código é valido):

meuArquivo.java

enum MeuJava{
	A(1), B(2), C(3);
	int valor;
	MeuJava(int a){
		valor = a;
	}
}

interface MinhaClasse{
	String vidaLocal = "birl";	
	default String  getEnum(){
		System.out.println("nada");
	}
		
}

class OutraCoisa{
	String euSouVariavelForaDoMetodo = "meu texto fora";
	public static void main(String[] args){	
		String euSouVariavelDentroDoMetodo = "meu texto dentro";
		System.out.println(euSouVariavelDentroDoMetodo);
	}
}

Vejamos os compilado

Terminal
$ javac meuArquivo.java 
$ ls
meuArquivo.java  MeuJava.class  MinhaClasse.class  OutraCoisa.class
comments powered by Disqus