2
Pacotes
Um pacote é um grupo de classes relacionadas e possivelmente cooperantes.
Por que usar pacotes? Para administrar mais facilmente os componentes das
aplicações; Para facilitar a reutilização de software, permitindo que
os programas usem classes de outros pacotes. Para fornecer uma convenção de nomes de classe
únicos, diminuindo a probabilidade de conflitos entre nomes de classes.
3
Pacotes
Em Java todas as classes fazem parte de um pacote. Se a classe não possuir a declaração package, ela pertence ao pacote default que corresponde à raiz do classpath.
Pacotes permitem a criação do conceito de nomes completamente qualificados (NCQ) em Java.
NCQ possibilitam identificar unicamente classes e membros de classes.
NCQ consistem do nome do pacote, seguido do nome da classe e do nome do membro, separados por pontos.
Para indicar que uma classe pertence a um determinado pacote, você inclui a palavra-chave package seguida do nome do pacote.
Para evitar conflitos entre nomes de pacotes, a Sun especificou uma convenção de nomenclatura onde o início do nome do pacote é dado pela ordem inversa do nome do domínio da instituição na Internet.
Para o domínio cefetpi.br, temos pacotes iniciados por br.cefetpi.
4
Pacotes
Para cada pacote definido, deve haver uma hierarquia de diretórios onde cada componente do nome do pacote é um diretório de mesmo nome
Cada arquivo .class deve ser colocado no diretório correspondente ao nome do pacote a que pertence
Exemplo Pacote: package com.acme.util; Diretórios: com/acme/util
package com.acme.util;
public class List { // Atributos ... // Métodos ... }
5
Pacotes
➔ Pacotes básicos do Java 2 java.lang: classes fundamentais – importado automaticamente java.util: classes utilitárias java.io: manipulação de entrada e saída
java.net: comunicação em rede
java.rmi: invocação remota de métodos
java.sql: classes para acesso via JDBC
java.awt: interface gráfica
javax.swing: componentes gráficos multiplataforma java.text: internacionalização, transformação e formatação de texto java.math: aritmética de precisão arbitrária
6
Import
Permite referenciar uma classe Java de outro pacote, utilizando apenas o seu nome abreviado.
Diferente do que C faz com a diretiva include, import não torna a classe realmente disponível ou a inclui no seu código.
A utilização de import simplesmente reduz o tempo de digitação e torna o código mais legível.
Um arquivo .java pode definir inúmeros import. As declarações de import, se forem incluídas em um
programa, devem estar entre o nome do pacote (caso exista) e a primeira declaração de classe ou interface.
Todas as classes que fazem parte de pacotes que compõem o núcleo da linguagem Java (java.lang) não precisam ser relacionadas em declarações de import.
import referencia uma (nome da classe) ou todas (*) as classes de um pacote.
O uso de * referencia todas as classes de um pacote, mas não seus subpacotes.
7
Import
➔ Para usar um pacote (usar suas classes) é preciso: Colocar a raiz do pacote no classpath Importar as classes do pacote (usando import) ou utilizar as
classes usando seu NCQ.import br.cefetpi.util.*;
public class Teste { ... public Object primeiro(List l) { return l.get(0); } ...}
public class Teste { ... public Object primeiro(br.cefetpi.util.List l) { return l.get(0); } ... }
usando import
usando NCQ