Importando classes no Java

Em meu preparo para a certificação da Oracle, tive que lidar com a complexidade dos imports. Vamos verificar essa classe Aluno:

public class Aluno {

     private final String nome;

     public Aluno(String nome) {
          this.nome = nome;
     }

}

Agora vou adicionar os alunos em uma lista para formar uma turma. Para adicionar todos os alunos de uma vez usarei o método addAll() da interface List:

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

Aluno a1 = new Aluno("Felipe");
Aluno a2 = new Aluno("Valéria");
Aluno a3 = new Aluno("Igor");
Aluno a4 = new Aluno("Lucas");
Aluno a5 = new Aluno("Karen");

List<Aluno> alunos = new ArrayList<Aluno>();
alunos.addAll(Arrays.asList(a1, a2, a3, a4, a5));

Analisando um pouco o nosso código, veja a quantidade de imports que tivemos que fazer do mesmo pacote. Será que não tem como importar as 3 classes de uma única vez? E se tentarmos:

import java.util.List, Arrays, ArrysList;

Mas não compila!
Vamos tentar de outra maneira:

import java.util.{List, Arrays, ArrysList};

Também não compila!
Para importarmos classes específicas precisamos sempre de um import cada uma para delas ou então podemos importar todas de uma vez utilizando o “*”:

import java.util.*;

Agora teremos acesso a todas as classes do pacote java.util. Vamos supor que o meu sistema tenha as seguintes classes:

import br.com.caelum.alura.dao.AlunoDAO;
import br.com.caelum.alura.dao.factory.ConnectionFactory;

Se eu tentar importar todas as classes do pacote dao:

import br.com.caelum.alura.dao.*;

Terei acesso a todas as classes? Inclusive as classes de subpacotes? A resposta é… Não! Se quiser todas as classes de um pacote, precisa especificar SEMPRE qual o pacote que você quer:

//importando todas as classes do pacote dao apenas
import br.com.caelum.alura.dao.*;
//importando todas as classes do pacote factory apenas
import br.com.caelum.alura.dao.factory.*;

Agora sim podemos acessar todas as classes do pacote dao e do pacote factory!

O que achou dos imports do Java? Não sabia o quão restrito poderia ser? Quer saber mais? Pensando nisso, o instrutor Guilherme Silveira criou a os cursos de certificação Java que especifica todas as peculiaridades da linguagem Java com 9 cursos preparatórios para a certificação da Oracle!


Content Editor at Alura and Software Developer

Próximo ArtigoLançado .NET Core 1.0