Faça uma pergunta »

Java - Os pacotes

Agosto 2015


Introdução aos pacotes


A programação Java consiste em criar classes. Ora, já que um programa é geralmente desenvolvido por uma equipe de programadores, ou seja, várias pessoas, o fato de concatenar (colocar de ponta a ponta) classes em um arquivo está longe de ser satisfatório. É por esta razão que o Java propõe o uso de pacotes (comparáveis às bibliotecas do C++ / C )

Assim, um pacote é uma unidade (um arquivo) agrupando classes. Para criar tal pacote, basta iniciar o arquivo fonte com classes a serem agrupadas com a instrução pacote seguida do nome que você deseja dar ao pacote. Desde já, todas as classes contidas no arquivo farão parte do pacote...

Organização hierárquica


Os pacotes são organizados em uma hierarquia, isto quer dizer que podemos aninhá-los, para isso o Java exige que a localização dos arquivos fonte (ou seja, pacotes) correspondam à hierarquia dos pacotes. É por isso que um pacote chamado Mypackage (Meupacote)deve ser armazenado em um diretório com o mesmo nome. Além disso, para que o compilador possa encontrar o pacote, é fundamental que ele "conheça" a localização do pacote. Para isso, o Java usa uma variável de ambiente (na mesma linha da variável de ambiente PATH) chamada classpath, que dá a lista dos caminhos de acesso para as classes.
Por padrão, o compilador (e a máquina virtual) busca classes no diretório corrente e no diretório das classes padrão.

Para definir a variável de ambiente classpath

  • No Linux, é preciso utilizar o seguinte comando:

export</ital> CLASSPATH = <diretório>:<diretório>;...

por exemplo:
export CLASSPATH = /home/jeff/java:/usr/lib/jdkx.x.x/lib/classes.zip:...
  • No Windows, é preciso utilizar o seguinte comando:

SET CLASSPATH = <diretório>;< diretório>;...

por exemplo:
SET CLASSPATH = c:\java;c:\jdkx.x.x\lib\classes.zip;...

A instrução import


Para acessar as classes de um pacote a partir de uma classe que não faça parte do pacote, basta dar o caminho de acesso relativo à classe, quando você a chama. Assim, para chamar a classe <ital> e do pacote Meupacote, basta escrever:

MeuPacote.MinhaClasse

No entanto, ter de escrever sempre o caminho de uma classe seria bastante fastidioso: assim, é bem mais prático utilizar a instrução import, seguida do caminho da classe:

import MyPackage.MyClass;

Também é possível importar todas as classes de um pacote com a sintaxe:
import MyPackage.*;

Isso é um aplicativo Java utilizando pacotes (ou seja, todos ou quase todos, porque você terá que usar os pacotes fornecidos com o JDK):
import java.awt.Button;   // Importamos a classe Button 
import java.rmi.*; // Importamos todas as classes RMI 
class Exemple { 
  static void main(String argv[]){ 
 Rect MonRect =new Rectangle(); 
 ... 
  } 
}


Ao contrário do que se poderia acreditar, a instrução import MonPackage.*; só pode tornar acessível as classes do pacote Mypackage e não, todos os pacotes cujo nome comece por Mypackage, quer dizer que a classe MeuPacote.pack1.MinhaClasse não estará acessível ...

Convenção de nomeação de pacotes


Já que a estrutura hierárquica dos pacotes e o número considerável de pacotes criados por desenvolvedores de todo o mundo, é muito importante evitar dar o mesmo nome à pacotes diferentes.
Assim, o Java oferece uma nomenclatura padrão de pacotes. Esta nomenclatura padrão consiste em dar um nome ao pacote e "alongá-lo" com o nome da empresa, ou do criador das classes que ele contém. Assim, um pacote soundstuffs desenvolvido pelo Kioskea se chamaria net.ccm.soundstuffs.

Pacotes e acessibilidade


A acessibilidade dos dados membros e dos métodos de uma classe também é feita através de pacotes. Assim, uma classe só é visível a partir de classes fazendo parte do mesmo pacote. Ora, o interesse de um pacote é justamente o fato dele poder ser usado a partir de classes declaradas em outro arquivo, é por isso que as classes, de um pacote, destinadas à exportação devem sempre ser declaradas como públicas...

Pacotes acessíveis por padrão


Java define dois pacotes padrão, isto é, um conjunto de classes ao qual é possível se referir sem especificar o caminho de acesso (seja com uma instrução import ou precedendo o nome pela hierarquia de pacotes). Estes pacotes são:

  • O pacote padrão: trata-se de todas as classes que não fazem parte explicitamente de um pacote e que estão localizadas em diretórios acessíveis (por padrão ou na variável classpath )
  • O pacote java.lang contendo as classes padrão, tais como System ou Math

Os arquivos .jar


Com o crescimento das redes, os aplicativos são condenados a viajar, assim sendo, temos que nos assegurar:

  • que elas permaneçam intactos
  • que todos os elementos (pacotes) do aplicativo estejam presentes
  • que o aplicativo ocupe menos espaço


Assim,o Java propõe o utilitário jar em JDK, um utilitário para reunir as diversas classes (arquivos .class) de um aplicativo dentro um arquivo compactado, chamado pacote , para garantir a integridade e tamanho.

Com este utilitário, você pode chamar, a partir de uma página Web, todas as classes de um applet se referindo apenas ao arquivo (cuja extensão é jar).

A sintaxe do jar é parecida com a do tar no Unix :

  • Para criar o arquivo, o comando é o seguinte:

jar cvf MeuArquivo.jar *.class
  • Para descompactar o arquivo, o comando é:

jar xvf MonArchive.jar *.class


  • Ao usar um arquivo JAR na Internet, todas as classes do mesmo serão carregadas ao mesmo tempo; assim sendo, não deixe de incluir apenas as classes necessárias para um determinado aplicativo.
  • O utilitário MoaJar permite manipular arquivos Jar com uma interface gráfica



Tradução feita por Lucia Maurity y Nouira
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Java-os-pacotes.pdf

Veja também

Na mesma categoria

PowerPoint - Rearrange the order of your slides
Por deri58 em 31 de outubro de 2012
Linux: El comando fdisk
Por pablojorgesanguinetti1 em 20 de junho de 2013
Tagliare file audio in PowerPoint 2010
Por apfel9 em 20 de maio de 2015
Publicado por pintuda.
Este documento, intitulado « Java - Os pacotes »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.