O que são pacotes?

Um pacote (package) é um namespace usado para organizar um conjunto de interfaces e classes relacionadas. Podemos, por analogia, pensar nos pacotes como pastas que contém classes que trabalham em conjunto.

Os pacotes são usados para agrupar classes relacionadas. Desta forma, conseguimos evitar conflitos de nomes entre classes, e também escrever código mais fácil de manter e atualizar. Além disso, os pacotes facilitam a busca ou pesquisa de classes, interfaces e enumerações.

Categorias de pacotes em Java

Pacotes built-in

A plataforma Java contém uma biblioteca gigantesca de componentes, organizados em pacotes, que podemos usar em nossas aplicações. Esta biblioteca é o que chamamos de Application Programming Interface (API), e os pacotes que ela contém representam as tarefas mais comuns associadas com o desenvolvimento de software, como pacotes para criação de interfaces gráficas e acesso a bancos de dados.

É possível importar uma classe específica a partir desta biblioteca, ou um pacote completo, contendo todas as classes que pertencem a ele.

É possível usar em uma aplicação as classes pertencentes a um pacote existente usando a declaração import (“importar pacote”). Por exemplo, para usarmos as classes do pacote java.util podemos importá-lo da seguinte maneira:

import java.util.*;

Desta forma todas as suas classes estarão disponíveis para uso na aplicação atual. Alternativamente, podemos importar apenas uma classe desejada, indicando o nome desta classe na diretiva import. Por exemplo, suponha que você precisa usar a classe JOptionPane em uma aplicação, para criar uma caixa de mensagens. Para tal, a importamos da seguinte maneira:

import javax.swing.JOptionPane;

Também é possível termos pacotes dentro de outros pacotes, sendo nesse caso chamados de subpacotes. Os subpacotes não são importados por padrão, devendo ser importados explicitamente. Por exemplo, net é um subpacote dentro do pacote java, como podemos ver na declaração:

import java.net.*;

Pacotes definidos pelo usuário

O programador também pode criar seus próprios pacotes. Eles ficam armazenados em uma espécie de sistema de arquivos do java, como se fossem pastas comuns no computador.

Um pacote é criado em Java com a declaração package seguida do nome do pacote desejado:

package nomePacote;

Essa declaração deve sempre ser a primeira linha do arquivo de código, podendo ser precedida apenas por comentários.