logo

Pacote Java

  1. Pacote Java
  2. Exemplo de pacote
  3. Acessando pacote
    1. Por importação packagename.*
    2. Por importação packagename.classname
    3. Por nome totalmente qualificado
  4. Subpacote
  5. Enviando arquivo de classe para outro diretório
  6. -switch de caminho de classe
  7. 4 maneiras de carregar o arquivo de classe ou arquivo jar
  8. Como colocar duas classes públicas em um pacote
  9. Importação estática
  10. Classe de pacote

A pacote java é um grupo de tipos semelhantes de classes, interfaces e subpacotes.

O pacote em java pode ser categorizado em duas formas: pacote integrado e pacote definido pelo usuário.

Existem muitos pacotes integrados, como java, lang, awt, javax, swing, net, io, util, sql etc.

Aqui, teremos o aprendizado detalhado de como criar e usar pacotes definidos pelo usuário.

java converte int para string

Vantagem do pacote Java

1) O pacote Java é usado para categorizar as classes e interfaces para que possam ser facilmente mantidas.

2) O pacote Java fornece proteção de acesso.

3) O pacote Java remove a colisão de nomes.


Exemplo simples de pacote java

O palavra-chave do pacote é usado para criar um pacote em java.

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Como compilar o pacote java

Se você não estiver usando nenhum IDE, você precisa seguir o sintaxe dado abaixo:

 javac -d directory javafilename 

Para exemplo

 javac -d . Simple.java 

A opção -d especifica o destino onde colocar o arquivo de classe gerado. Você pode usar qualquer nome de diretório como /home (no caso do Linux), d:/abc (no caso do Windows) etc. Se quiser manter o pacote dentro do mesmo diretório, você pode usar . (ponto).


Como executar o programa de pacote java

Você precisa usar um nome totalmente qualificado, por exemplo. mypack.Simple etc para executar a classe.


Compilar: javac -d. Simples.java
Para correr: java meupack.Simple
 Output:Welcome to package 
O -d é uma opção que informa ao compilador onde colocar o arquivo de classe, ou seja, representa o destino. O . representa a pasta atual.

Como acessar o pacote de outro pacote?

Existem três maneiras de acessar o pacote fora do pacote.

  1. pacote de importação.*;
  2. importar pacote.classname;
  3. nome totalmente qualificado.

1) Usando nome do pacote.*

Se você usar package.* então todas as classes e interfaces deste pacote estarão acessíveis, mas não os subpacotes.

A palavra-chave import é usada para tornar as classes e interface de outro pacote acessíveis ao pacote atual.

Exemplo de pacote que importa o packagename.*

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

2) Usando packagename.classname

Se você importar package.classname então apenas a classe declarada deste pacote estará acessível.

Exemplo de pacote por importação package.classname

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

3) Usando nome totalmente qualificado

Se você usar um nome totalmente qualificado, apenas a classe declarada deste pacote estará acessível. Agora não há necessidade de importar. Mas você precisa usar um nome totalmente qualificado sempre que acessar a classe ou interface.

Geralmente é usado quando dois pacotes têm o mesmo nome de classe, por exemplo. Os pacotes java.util e java.sql contêm a classe Date.

Exemplo de pacote por importação de nome totalmente qualificado

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } } 
 Output:Hello 

Nota: Se você importar um pacote, os subpacotes não serão importados.

Se você importar um pacote, todas as classes e interfaces desse pacote serão importadas, excluindo as classes e interfaces dos subpacotes. Portanto, você também precisa importar o subpacote.


Nota: A sequência do programa deve ser pacote, depois importação e depois classe.


Subpacote em java

O pacote dentro do pacote é chamado de subpacote . Deveria ser criado para categorizar ainda mais o pacote .

Vejamos um exemplo: a Sun Microsystem definiu um pacote chamado java que contém muitas classes como System, String, Reader, Writer, Socket etc. As classes Reader e Writer são para operação de entrada/saída, as classes Socket e ServerSocket são para rede, etc. Portanto, a Sun subcategorizou o pacote java em subpacotes como lang, net, io etc. e colocou as classes relacionadas à entrada/saída no pacote io, as classes Server e ServerSocket nos pacotes net e assim por diante.

O padrão de definição de pacote é domain.company.package, por exemplo. com.javatpoint.bean ou org.sssit.dao.

Exemplo de subpacote

 package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } } 
Compilar: javac -d. Simples.java
Para correr: java com.javatpoint.core.Simple
 Output:Hello subpackage 

Como enviar o arquivo de classe para outro diretório ou unidade?

Existe um cenário, quero colocar o arquivo de classe do arquivo de origem A.java na pasta de classes da unidade c:. Por exemplo:

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Compilar:

e:fontes> javac -d c:classes Simples.java

Para correr:

Para executar este programa a partir do diretório e:source, você precisa definir o caminho de classe do diretório onde o arquivo de classe reside.
e:fontes> set classpath=c:classes;.;
e:fontes> java meupack.Simple

Outra maneira de executar este programa pela opção -classpath de java:

A opção -classpath pode ser usada com javac e ferramenta java.

Para executar este programa a partir do diretório e:source, você pode usar a opção -classpath de java que informa onde procurar o arquivo de classe. Por exemplo:

uma classe abstrata pode ter um construtor

e:fontes> java -classpath c:classes meupack.Simple

 Output:Welcome to package 

Maneiras de carregar os arquivos de classe ou arquivos jar

Existem duas maneiras de carregar os arquivos de classe temporários e permanentes.
  • Temporário
    • Configurando o classpath no prompt de comando
    • Por opção -classpath
  • Permanente
    • Definindo o classpath nas variáveis ​​de ambiente
    • Criando o arquivo jar, que contém todos os arquivos de classe, e copiando o arquivo jar na pasta jre/lib/ext.

Regra: Só pode haver uma classe pública em um arquivo fonte java e ela deve ser salva com o nome da classe pública.

 //save as C.java otherwise Compilte Time Error class A{} class B{} public class C{} 

Como colocar duas classes públicas em um pacote?

Se você quiser colocar duas classes públicas em um pacote, tenha dois arquivos fonte java contendo uma classe pública, mas mantenha o mesmo nome do pacote. Por exemplo:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

Qual é o recurso de importação estática do Java5?

Clique no recurso Importação estática do Java5.

E quanto à classe de pacote?

Clique para classe Pacote