Importando classes no Java

Alex Felipe Victor Vieira
Alex Felipe Victor Vieira

Compartilhe

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 Victor Vieira
Alex Felipe Victor Vieira

Alex é instrutor e desenvolvedor e possui experiência em Java, Kotlin, Android. Criador de mais de 40 cursos, como Kotlin, Flutter, Android, persistência de dados, comunicação com Web API, personalização de telas, testes automatizados, arquitetura de Apps e Firebase. É expert em Programação Orientada a Objetos, visando sempre compartilhar as boas práticas e tendências do mercado de desenvolvimento de software. Atuou 2 anos como editor de conteúdo no blog da Alura e hoje ainda escreve artigos técnicos.

Veja outros artigos sobre Programação