Latest web development tutorials

pacote de Java (pacote)

A fim de melhor organizar a classe, Java fornece um mecanismo de pacote para a diferença entre o nome da classe do namespace.

O papel do pacote

  • Uma função de organização semelhante ou afim da classe ou interface no mesmo pacote, de encontrar e fácil de usar classe.
  • 2 como a mesma pasta, o pacote também usou a árvore de diretórios de armazenamento. Classes no mesmo nome do pacote é diferente, um nome de pacote diferente da classe é o mesmo, ao chamar simultaneamente dois tipos diferentes de pacotes no mesmo nome da classe, nome do pacote deve ser adicionado distinção. Assim, o nome do pacote para evitar conflitos.
  • 3 pacote também define os direitos de acesso, as classes têm acesso ao pacote para acessar um pacote de classes.

Java usa pacote (pacote) Este mecanismo é projetado para evitar conflitos de nomes, controle de acesso, fornecendo pesquisa e localizar class (classe), as interfaces, enumerações (enumerações) e comentários (anotações) e similares.

Pacote sintaxe da instrução é:

package pkg1[.pkg2[.pkg3…]];

Por exemplo, um arquivo de sua Something.java conteúdo

package net.java.util
public class Something{
   ...
}

Em seguida, ele deve ser a rede de caminho / java / util / Something.java tão salvo. pacote (pacote) papel é o de classificar diferentes programa java armazenado mais facilmente ser chamado por outro programa java.

Um pacote (pacote) pode ser definida como um conjunto de tipos (classes, interfaces, enumerações, e anotação) interligados para fornecer proteção de acesso e funções de gerenciamento de espaço de nomes para esses tipos.

Aqui estão algumas das Java no pacote:

  • java.lang- classe base embalados
  • função Java.io- contém funções de entrada e saída

Os desenvolvedores podem colocar seu próprio conjunto de classes e interfaces, embalados, e definir o seu próprio pacote. E no desenvolvimento real deve ser encorajado a fazê-lo, quando você completar a classe de implementação, o agrupamento de classes relacionados, para que outros programadores podem mais facilmente determinar quais classes, interfaces, enumerações e comentários são relacionados .

Desde o pacote cria um novo espaço de nomes (namespace), assim, sem conflitos de nomes com qualquer outro nome do pacote. Utilize este mecanismo de pacote, mais fácil de implementar controle de acesso, e deixar localizar a classe relevante mais fácil.


Criar pacote

Criar um pacote, você precisa dar um nome apropriado para este pacote. Então, se um arquivo de origem que contém as outras classes oferecidos neste pacote, interface, anotação ou enum tipo, o pacote esta declaração deve ser colocado no início deste arquivo de origem.

Pacote deve ser declarado na primeira linha do arquivo de origem para cada arquivo de origem pode ter apenas uma instrução de pacote, o arquivo para cada tipo são aplicadas a ele.

Se você não usar uma instrução de pacote no arquivo de origem, em seguida, uma das classes, funções, enumeração, comentários, etc. serão colocados em um pacote sem nome (pacote sem nome) em.

exemplo

Vejamos um exemplo que cria um pacote chamado os animais. Geralmente usam letras minúsculas para evitar classes de nomeação, interfaces e o nome do conflito.

Junte-se a animais de interface pacote (interface):

/* 文件名: Animal.java */
package animals;

interface Animal {
   public void eat();
   public void travel();
}

Em seguida, adicione no mesmo pacote que implementa a interface:

package animals;

/* 文件名 : MammalInt.java */
public class MammalInt implements Animal{

   public void eat(){
      System.out.println("Mammal eats");
   }

   public void travel(){
      System.out.println("Mammal travels");
   } 

   public int noOfLegs(){
      return 0;
   }

   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
} 

Então, compilar esses dois arquivos e colocá-los em um subdiretório chamado animais. Use o seguinte comando para executar:

$ mkdir animals
$ cp Animal.class  MammalInt.class animals
$ java animals/MammalInt
Mammal eats
Mammal travel

palavras-chave de importação

Para ser capaz de usar um membro de um pacote, precisamos importar explicitamente o pacote no programa Java. Usando a "importação" instrução para executar esta função.

Em java instruções de importação de arquivo de origem deve estar localizado após a declaração pacote, todas as classes definidas anteriormente, você não pode, você também pode ter múltiplos, a sua sintaxe é:

import package1[.package2…].(classname|*);

Se um pacote, uma classe que você deseja usar este pacote em outra classe, em seguida, o nome do pacote pode ser omitida.

exemplo

O seguinte pacote de folha de pagamento já contém a classe de funcionários, em seguida, adicionar uma classe para o pacote de folha de pagamento Boss. Quando a aula referência de classe chefe do empregado não pode usar instâncias da folha de pagamento de prefixo classe chefe segue.

package payroll;

public class Boss
{
   public void payEmployee(Employee e)
   {
      e.mailCheck();
   }
}

E se a classe não é pacote de folha de pagamento chefe vai? classe patronal deve usar um dos seguintes métodos para fazer referência a outras classes no pacote

Use o nome completo da descrição da classe, tais como:

payroll.Employee

Com a introdução de palavras-chave de importação, use o curinga "*"

import payroll.*;

Usando palavras-chave de importação introduz Employee Classe

import payroll.Employee;

Nota:

arquivo de classe pode conter qualquer número de declaração de importação. declaração de importação deve ser posterior à instrução de pacote, antes da declaração de classe.


estrutura de diretório do pacote

Classe sobre o pacote tem dois resultados principais:

  • Nome de software torna-se parte do nome da classe, como discutimos anteriormente.
  • nome do pacote deve corresponder ao código de bytes correspondente na mesma partida estrutura de diretórios.

Aqui está uma maneira simples de gerenciar seus arquivos em java:

As classes, interfaces e outros tipos de código-fonte em um texto, o nome do arquivo é o nome do tipo e .java extensão. Por exemplo:

// 文件名 :  Car.java

package vehicle;

public class Car {
   // 类实现  
}

Em seguida, os arquivos de origem em um diretório, o nome do diretório para a classe correspondente de seu próprio pacote.

....\vehicle\Car.java

Agora, o nome da classe correta e caminho será parecido com o seguinte:

  • nome da classe -> vehicle.Car

  • Pathname -> veículo \ Car.java (no Windows)

Normalmente, uma empresa utiliza sua forma invertida de nomes de domínio da Internet como seu nome de pacote, por exemplo: o domínio da Internet é apple.com, todos os nomes de pacotes estão em início com.apple. Cada nome do pacote que corresponde a uma parte de um subdiretório.

Por exemplo: a empresa tem uma com.apple.computers o pacote, que contém um arquivo conhecido fonte Dell.java, o correspondente deve ser como a seguinte série de subdiretórios:

....\com\apple\computers\Dell.java

Tempo de compilação, o compilador cria um arquivo de saída diferente, o nome do arquivo de saída é o nome deste tipo é definida no tipo de pacote de cada classe, interface e adicionado como sufixo uma extensão .class. Por exemplo:

// 文件名: Dell.java

package com.apple.computers;
public class Dell{
      
}
class Ups{
      
}

Agora, usamos a opção -d para compilar o arquivo, como segue:

$javac -d . Dell.java

Isto irá colocar como este para compilar o arquivo:

.\com\apple\computers\Dell.class.\com\apple\computers\Ups.class

Você pode gostar deste importar todas \ com \ maçã \ computadores \ classe definida na interface:

import com.apple.computers.*;

arquivos .class compilados depois e deve .java arquivos de origem, eles são colocados no diretório deve corresponder ao nome do pacote. No entanto, o caminho não requer arquivo .class com caminho correspondente .java mesma. Você pode organizar diretórios de origem e de classe separados.

<path-one>\sources\com\apple\computers\Dell.java
<path-two>\classes\com\apple\computers\Dell.class

Desta forma, você pode compartilhar o seu diretório classes para outros programadores, ao invés de revelar sua fonte. Desta forma gerenciar fonte e arquivos de classe pode deixar o compilador e Java Virtual Machine (JVM) pode encontrar todos os tipos usados ​​no programa.

Absoluto classe caminhos de diretório chamado caminho da classe. Situado no CLASSPATH variável do sistema. Compilador e da máquina virtual java com o nome do pacote para o caminho de classe mais tarde construção caminho .class arquivo.

<Path- dois> \ classes é o caminho da classe, nome do pacote é com.apple.computers, eo compilador e JVM estará em <caminho e dois> \ classes \ com \ maçã \ compters encontrar os arquivos .class.

A caminho de classe pode conter vários caminhos. Multi-caminho deve ser separada por um delimitador. Por padrão, o compilador e JVM encontrar o diretório atual. arquivo JAR contendo a plataforma Java, de acordo com a classe relevante, para que eles padrão em um diretório no caminho de classe.


Ajuste variável de sistema CLASSPATH

Use o seguinte comando para exibir a variável CLASSPATH atual:

  • plataformas Windows (linha de comando DOS) -> C: \> set CLASSPATH
  • plataformas UNIX (Bourne shell abaixo) ->% echo $ CLASSPATH
Remover o conteúdo da variável CLASSPATH atual:
  • plataformas Windows (linha de comando DOS) -> C: \> set CLASSPATH =
  • plataformas UNIX (Bourne shell abaixo) ->% CLASSPATH unset; CLASSPATH export

Definir variável CLASSPATH:

  • plataformas Windows (linha de comando DOS) -> set CLASSPATH = C: \ Users \ jack \ Java \ classes
  • plataformas UNIX (Bourne shell abaixo) ->% CLASSPATH = / home / jack / java / classes; CLASSPATH export