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!