Neste artigo, você aprenderá sobre pacotes e como usá-los para criar código modular em Java.
Pacote Java
Um pacote é simplesmente um contêiner que agrupa tipos relacionados (classes Java, interfaces, enumerações e anotações). Por exemplo, no núcleo do Java, a ResultSet
interface pertence ao java.sql
pacote. O pacote contém todos os tipos relacionados que são necessários para a consulta SQL e conexão com o banco de dados.
Se você deseja usar a ResultSet
interface em seu código, basta importar o pacote java.sql (a importação de pacotes será discutida posteriormente neste artigo).
Conforme mencionado anteriormente, os pacotes são apenas contêineres para classes Java, interfaces e assim por diante. Esses pacotes ajudam a reservar o namespace da classe e a criar um código sustentável.
Por exemplo, você pode encontrar duas Date
classes em Java. No entanto, a regra na programação Java é que apenas um nome de classe exclusivo é permitido em um projeto Java.
Como eles conseguiram incluir duas classes com o mesmo nome Date no JDK?
Isso foi possível porque essas duas Date
classes pertencem a dois pacotes diferentes:
java.util.Date
- esta é uma classe normal de Date que pode ser usada em qualquer lugar.java.sql.Date
- esta é uma Data SQL usada para a consulta SQL e tal.
Dependendo se o pacote é definido pelo usuário ou não, os pacotes são divididos em duas categorias:
Pacote Integrado
Pacotes integrados são pacotes java existentes que vêm junto com o JDK. Por exemplo, java.lang
, java.util
, java.io
, etc. Por exemplo:
import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) )
Produto :
minhaLista = (3, 2, 1)
A ArrayList
classe pertence java.util package
. Para usá-lo, primeiro temos que importar o pacote usando a import
instrução.
import java.util.ArrayList;
Pacote definido pelo usuário
Java também permite que você crie pacotes conforme sua necessidade. Esses pacotes são chamados de pacotes definidos pelo usuário.
Como definir um pacote Java?
Para definir um pacote em Java, você usa a palavra-chave package
.
package packageName;
Java usa diretórios do sistema de arquivos para armazenar pacotes. Vamos criar um arquivo Java dentro de outro diretório.
Por exemplo:
└── com └── test └── Test.java
Agora, edite o arquivo Test.java e, no início do arquivo, escreva a instrução do pacote como:
package com.test;
Aqui, qualquer classe declarada no diretório test pertence ao pacote com.test .
Aqui está o código:
package com.test; class Test (public static void main (String () args) (System.out.println ("Hello World!");))
Produto :
Olá Mundo!
Aqui, a classe Test agora pertence ao pacote com.test .
Convenção de nomenclatura de pacote
O nome do pacote deve ser exclusivo (como um nome de domínio). Portanto, existe uma convenção para criar um pacote como um nome de domínio, mas na ordem inversa. Por exemplo, com.company.name
Aqui, cada nível do pacote é um diretório em seu sistema de arquivos. Como isso:
└── com └── empresa └── nome
E não há limitação de quantos subdiretórios (hierarquia de pacotes) você pode criar.
Como criar um pacote no Intellij IDEA?
No IntelliJ IDEA, veja como você pode criar um pacote:
- Clique com o botão direito na pasta de origem.
- Vá para o novo e depois para o pacote .
- Uma caixa pop-up aparecerá onde você pode inserir o nome do pacote.
Assim que o pacote for criado, uma estrutura de pastas semelhante também será criada em seu sistema de arquivos. Agora, você pode criar classes, interfaces e assim por diante dentro do pacote.

Como importar pacotes em Java?
Java tem uma import
instrução que permite importar um pacote inteiro (como nos exemplos anteriores) ou usar apenas certas classes e interfaces definidas no pacote.
The general form of import
statement is:
import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package
For example,
import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package
The import
statement is optional in Java.
If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.
Here is an example to import a package using the import
statement.
import java.util.Date; class MyClass implements Date ( // body )
The same task can be done using the fully qualified name as follows:
class MyClass implements java.util.Date ( //body )
Example: Package and importing package
Suppose, you have defined a package com.programiz that contains a class Helper.
package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) )
Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:
import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) )
Output:
formattedValue = $99.50
Here,
- the Helper class is defined in com.programiz package.
- a classe Helper é importada para um arquivo diferente. O arquivo contém a classe UseHelper.
- O
getFormattedDollar()
método da classe Helper é chamado de dentro da classe UseHelper.

Em Java, a import
instrução é escrita diretamente após a instrução do pacote (se existir) e antes da definição da classe.
Por exemplo,
package package.name; import package.ClassName; // importe apenas uma classe de classe MyClass (// corpo)