Uma Package (pacote) é um agrupamento de tipos relacionados que fornecem proteção de acesso e gerenciamento de espaço de nome(namespaces). Note-se que os tipos refere-se a classes, interfaces, enumerações e tipos de anotações.
Os pacotes servem para organizar as classes semelhantes e em algum momento, todo programador precisa usar uma classe pública que está contida dentro de um pacote. Se a classe está em um pacote diferente, então o programa deve dizer ao compilador onde encontrá-lo. Há três maneiras de fazer referência a uma classe em outro pacote: use o seu nome completo, importe a classe, importe o pacote.
Melhores Praticas:
- Cada classe pertence a um pacote.
- Classes no mesmo pacote devem servir a um propósito semelhante.
- Pacotes são apenas diretórios. As classes em outros pacotes precisam ser importados.
Combinar funcionalidade semelhantes:
- org.desenvolvimentoaberto.bibliotecas.Livraria
- org.desenvolvimentoaberto.bibliotecas.Livros
Separar nomes semelhantes:
- shopping.Lista
- pacotes.Lista
Pacotes Especiais:
- Todas as classes ” podem ver” as classes no mesmo pacote (sem importação necessário).
- Todas as classes de “podem ver” classes em java.lang.
- Exemplo : java.lang.String; java.lang.System
Criando uma Package:
- Crie um novo projeto Java chamado: DevAberto.
- Na janela Package Explorer, navegue até nosso projeto e expanda até encontrar a pasta scr.
- Clique com o botão direito e clique em nova package.
- Nomeie a package de org.desenvolvimentoaberto.
- Clique com o botão direito em nossa package e escolha nova classe.
- Nomeie a classe de Menssagem e copie o codigo da classe Menssagem abaixo.
- Em nosso projeto na pasta scr, botão direito nova classe.
- Na opção package na Janela da classe clique em Browse e escolha (default package).
- Nomeie a classe de Principal e clique no checkbox public static void main(String[] args e clique em Finish.
- Nossa classe Menssagem não esta visivel dentro da classe Principal.
- No editor antes da instrução “public class Principal”, de um enter.
- Escreva a seguinte instrução: import org.desenvolvimentoaberto.Menssagem;
- Agora a classe Menssagem esta visivel da classe Principal.
- Escreva o codigo da classe Principal abaixo e rode o programa.
Exemplo:
Neste exemplo vamos criar um simples pacote e usa-lo de um outro pacote, mostrando os três modos de como referenciar pacotes:
Java
Classe Principal – Pacote #1
import org.desenvolvimentoaberto.Menssagem; public class Principal { public static void main(String[] args) { // Você pode chamar as packages de 3 modos diferentes: // Modo #1: chamando pelo nome completo da package e classe org.desenvolvimentoaberto.Menssagem menssagem = new org.desenvolvimentoaberto.Menssagem(); menssagem.Menssagem("Meu novo pacote java - modo #1"); // Modo #2: usando a instrução import e importando a classe especifica // import org.desenvolvimentoaberto.Menssagem; // Modo #3 importando toda a package e assim todas as classes // import org.desenvolvimentoaberto.*; Menssagem msg = new Menssagem(); msg.Menssagem("Meu novo pacote java - modo #2"); } }
Classe Menssagem – Pacote #2
package org.desenvolvimentoaberto; public class Menssagem { public void Menssagem (String menssagem ) { System.out.println( menssagem); } public Menssagem() { } }