Importando classes no Java

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:

Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

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 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