Como compilar um código com multiplas classes em Java?

Como compilar um código com multiplas classes em Java?

Neste post vamos ver como compilar um código com multiplas classes em Java pelo terminal do Linux.

Vamos criar uma classe chamada Livro, que será utilizada de base para criação de outras três classes chamadas Livro_A, Livro_B e Livro_C, e em seguida vamos criar uma classe chamada main onde será mostrado todos os livros disponíveis em nossa biblioteca.

Com o terminal aberto vamos criar um diretório onde vamos escrever os nossos códigos, utilizando o comando abaixo:

$mkdir Biblioteca_Java

Vamos acessar o diretório utilizando o comando abaixo:

$cd Biblioteca_Java

Agora vamos criar os nossos arquivos utilizando o seguinte comando:

$vim Livro.java

No caso será utilizado o Vim como editor de texto, mas podem ser utilizados outros editores de texto, o mais importante é que todos os arquivos estejam nomeados corretamente e fiquem no mesmo diretório.

A nossa primeira classe será a base para construção das demais classe, abaixo segue o código da classe Livro:

public class Livro{
        public void nomeLivro() {
                System.out.println("Sou um livro genérico");
        }
}

É muito importante que o nome da classe tenha o mesmo nome do nome do arquivo.

Agora vamos fazer o mesmo processo para criar os Livros A, B e C, como mostrado a seguir:

$vim Livro_A.java

Abaixo segue a classe que será utilizada para o Livro_A:

public class Livro_A extends Livro{
        @Override
        public void nomeLivro(){
                System.out.println("Sou o Livro A");
        }
}

Observem que utilizamos o recurso de herança do Java, com a palavra reservada extends, ou seja, o Livro_A herdou as características da classe Livro.

Agora vamos repetir o mesmo processo para os livros B e C.

$vim Livro_B.java
public class Livro_B extends Livro{
        @Override
        public void nomeLivro(){
                System.out.println("Sou o Livro B");
        }
}

$vim Livro_C.java
public class Livro_C extends Livro{
        @Override
        public void nomeLivro(){
                System.out.println("Sou o Livro C");
        }
}

Agora vamos criar a nossa classe main, essa classe será como a nossa biblioteca, onde serão apresentados todos os livros disponíveis. Para isso vamos criar o a nossa classe como mostrado abaixo:

$vim main.java
public class main{
        public static void main(String[] args){
                Livro livro_A = new Livro_A();
                Livro livro_B = new Livro_B();
                Livro livro_C = new Livro_C();

                livro_A.nomeLivro();
                livro_B.nomeLivro();
                livro_C.nomeLivro();
        }
}

Como compilar?/

Agora temos cinco arquivos em nosso diretório com a extensão .java. Para compilar apenas um arquivo utilizamos o seguinte comando:

$javac nome_do_arquivo.java

E após executar esse comando o arquivo com a extensão .java vai gerar um arquivo chamado nome_do_arquivo.class.

Caso não haja nenhum erro nos 5 arquivos, após compilar o arquivo main.java serão gerados todas as classes, como mostrado na figura abaixo:

Arquivos gerados após a compilação

Após compilar o código, basta utilizar o seguinte comando para verificar o funcionamento do código:

$java nome_do_arquivo.java

Após executar o comando acima é possível verificar o funcionamento do código, como mostrado na figura abaixo:

Funcionamento do código

Também é possível utilizar outro comando para compilar o nosso código, que é apresentado a seguir:

$javac *.java

O código acima vai compilar todos os arquivos com a extensão .java que estão dentro do diretório, isso pode ser muito útil para encontrar erros e bugs em nosso código.

Conclusão

Neste post vimos como compilar um código em Java pelo terminal do Linux e utilizamos um exemplo com um classe principal, e criamos outras três classes com a utilização da herança. Também criamos uma classe principal que serve como uma biblioteca, que apresenta para o usuário todos os livros disponíveis na biblioteca.

Isso é tudo pessoal, não deixem de conferir outros posts no Blog da Wantronics e até o próximo post!