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!

Alex Felipe
Alex Felipe

Alex é instrutor e desenvolvedor com foco em Java, Kotlin, Android e Spring. É expert em Programação Orientada a Objetos, visando sempre compartilhar as melhores práticas e tendências do mercado para desenvolvimento de software com quem está estudando o assunto. Atuou 2 anos como editor de conteúdo no blog da Alura e hoje ainda escreve artigos técnicos sobre o desenvolvimento.

Leia também:

Veja outros artigos sobre Programação