Latest web development tutorials

Pakiet Java (pakiet)

W celu lepszego zorganizowania klasy, Java zapewnia mechanizm do opakowania różnicy między nazwą klasy nazw.

Rola pakietu

  • Funkcja podobnych lub pokrewnych organizacja klasy lub interfejsu w tym samym opakowaniu, w celu znalezienia i łatwy w użyciu klasę.
  • 2 w tym samym folderze, pakiet wykorzystywany także drzewo katalogów przechowywania. Zajęcia w tej samej nazwie pakietu jest inny, inna nazwa pakietu klasy jest taka sama, jednocześnie wzywając dwa różne typy pakietów w tej samej nazwy klasy, nazwa pakietu, należy wprowadzić rozróżnienie. Zatem nazwa pakietu, aby uniknąć konfliktu.
  • 3 Pakiet określa także prawa dostępu, klasy mają dostęp do pakietu, aby uzyskać dostęp do pakietu klas.

Java używa pakietu (pakiet) Mechanizm ten ma na celu uniknięcie konfliktów nazewnictwa, kontroli dostępu, zapewniając wyszukać i zlokalizować klasy (klasa), interfejsy, wyliczenia (wyliczenia) i Komentarze (adnotacji) i tym podobne.

Składnia instrukcji Pakiet jest:

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

Na przykład, plik zawartość Something.java

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

Wtedy powinno być siatka ścieżka / java / util / Something.java tak zapisane. pakiet (pakiet) rolą jest sklasyfikować inny program java przechowywane łatwiej być wywoływany przez inny program java.

Opakowanie (pakiet) może być określony jako zbiór typów (klas, interfejsów wyliczenia i opisu) połączone ze sobą w celu zapewnienia ochrony przed dostępem oraz sterowanie nazw dla tych typów.

Oto niektóre z Java w opakowaniu:

  • java.lang- pakowane klasy bazowej
  • Funkcja Java.io- zawiera funkcje wejść i wyjść

Programiści mogą umieścić swój własny zestaw klas i interfejsów, pakowane i zdefiniować swój własny pakiet. I w rzeczywistym rozwoju ma być do tego zachęcani, po ukończeniu klasy implementacji, grupowanie powiązanych klas, tak aby inni programiści mogą łatwiej określić, które klasy, interfejsy, wyliczenia i komentarze są powiązane ,

Ponieważ pakiet tworzy nową przestrzeń nazw (namespace), a więc bez konfliktów nazw z żadną inną nazwą pakietu. Za pomocą tego mechanizmu pakietu, łatwiejsze do wdrożenia kontroli dostępu i niech łatwiej zlokalizować odpowiednie klasy.


Tworzenie pakietu

Utwórz pakiet, trzeba podjąć odpowiednią nazwę dla tego pakietu. Następnie, jeśli plik źródłowy, który zawiera inne klasy oferowane tym pakiecie, interfejsu, adnotacji lub enum typu pakiet deklaracja ta musi znajdować się na początku tego pliku źródłowego.

Opakowanie powinno być uznane za w pierwszym wierszu pliku źródłowego dla każdego pliku źródłowego może mieć tylko jedno oświadczenie pakietu plik dla każdego typu są stosowane do niego.

Jeśli nie używać oświadczenie pakietu w pliku źródłowym, a następnie jedną z klas, funkcji, wyliczenie, komentarze, itp zostaną umieszczone w pakiecie nienazwanej (pakiet) w nienazwane.

przykład

Spójrzmy na przykład, który tworzy pakiet o nazwie zwierzęta. Generalnie używać małych liter, aby uniknąć nazewnictwa klas, interfejsów, a nazwa konfliktu.

Dołącz do zwierząt interfejsu pakietu (interfejs):

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

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

Następnie należy dodać w tym samym opakowaniu, która implementuje interfejs:

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();
   }
} 

Następnie skompilować te dwa pliki i umieścić je w podkatalogu o nazwie zwierząt. Użyj tego polecenia, aby uruchomić:

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

import słów kluczowych

Aby móc korzystać z elementu pakietu, musimy jawnie zaimportować pakiet w programie Java. Korzystanie z "importu" oświadczenie do pełnienia tej funkcji.

W java plików źródłowych wypowiedzi przywóz powinny być umieszczone po zestawieniu pakietu, wszystkie wcześniej zdefiniowanych klas, nie można, można również wielokrotne, jego składnia jest następująca:

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

Jeśli pakiet, klasę, której chcesz użyć tego pakietu do innej klasy, to nazwa pakietu może zostać pominięty.

przykład

Poniższy pakiet płacowy zawiera już klasę pracownika, a następnie dodać klasę do pakietu płacowego Boss. Gdy Boss Employee klasa referencyjna klasa nie może użyć instancji klasy płac prefiksu Boss następująco.

package payroll;

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

Co zrobić, jeśli klasa nie jest Boss pakiet płacowy będzie? Klasa Boss należy użyć jednej z następujących metod, aby odwołać innych klas w pakiecie

Użyj pełną nazwę opisu klasy, takich jak:

payroll.Employee

Wraz z wprowadzeniem przywozowych słów kluczowych, należy użyć symbolu wieloznacznego "*"

import payroll.*;

Użycie słowa kluczowego import wprowadza klasy Employee

import payroll.Employee;

Uwaga:

Plik klasa może zawierać dowolną liczbę deklaracji importowej. Deklaracja importowa musi być po zestawieniu pakietu przed deklaracji klasy.


Pakiet struktura katalogów

Ćwiczenia na opakowaniu mają dwa główne wyniki:

  • Nazwa pakietu staje się częścią nazwy klasy, jak mówiliśmy wcześniej.
  • Nazwa pakietu musi dopasować odpowiedni kod bajtowy w takiej samej strukturze katalogów meczu.

Oto prosty sposób na zarządzanie plikami w Javie:

Klasy, interfejsy i inne rodzaje kodu źródłowego w tekście, nazwa pliku jest nazwą typu i .java rozszerzenie. Na przykład:

// 文件名 :  Car.java

package vehicle;

public class Car {
   // 类实现  
}

Następnie pliki źródłowe w katalogu, nazwa katalogu do odpowiedniej klasy własnego pakietu.

....\vehicle\Car.java

Teraz poprawna nazwa klasy i ścieżka będzie wyglądać następująco:

  • Nazwa klasy -> vehicle.Car

  • Ścieżka -> Pojazd \ Car.java (w systemie Windows)

Zazwyczaj firma korzysta z odwróconą postać nazw domen internetowych, jak jego nazwa pakietu, na przykład: domena internetowa jest apple.com, wszystkie nazwy pakietów są com.apple początku. Każda nazwa pakietu odpowiadającą części podkatalogu.

Na przykład: firma posiada com.apple.computers pakiet, który zawiera znanego pliku źródłowego Dell.java, odpowiednia powinna być jak do serii podkatalogów:

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

Kompilacji, kompilator tworzy inny plik wyjściowy, nazwa pliku wyjściowego jest nazwa tego typu jest zdefiniowana w typie pakietu każdej klasy, interfejsu i dodał jako rozszerzenie .class przyrostka. Na przykład:

// 文件名: Dell.java

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

Teraz używamy opcji -d do przygotowania dokumentacji, co następuje:

$javac -d . Dell.java

Będzie to takie miejsce do przygotowania dokumentacji:

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

Można podoba importować wszystkie \ com \ jabłko \ komputerów \ klasy zdefiniowane w interfejsie:

import com.apple.computers.*;

pliki .class skompilowany i powinien po .java pliki źródłowe, są umieszczone w katalogu powinien odpowiadać z nazwą pakietu. Jednak droga nie wymaga pliku .class ze ścieżką odpowiadającą .java samo. Można zorganizować oddzielne katalogi źródłowe i klasy.

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

W ten sposób można udostępnić katalog klas do innych programistów, zamiast ujawnić ich źródło. W ten sposób zarządzać źródła i pliki klas mogą pozwolić kompilator i wirtualna maszyna Javy (JVM) można znaleźć wszystkie rodzaje używanych w programie.

Absolutna klasa ścieżki katalogu o nazwie ścieżki klasy. Położony w zmiennej systemowej CLASSPATH. Kompilator i maszyna wirtualna Java o nazwie pakietu do ścieżki klasy później dokumentację konstrukcyjną path .class.

<Path- dwa> \ Classes jest ścieżka klasy, nazwa pakietu jest com.apple.computers oraz kompilator i JVM będzie w <ścieżka dwa> \ classes \ com \ jabłko \ compters znaleźć pliki .class.

Ścieżka klasy może zawierać kilka ścieżek. Multi-path powinny być oddzielone separatorem. Domyślnie kompilator i JVM znaleźć w aktualnym katalogu. Plik JAR zawierający platformę Java, zgodnie z odpowiednią klasą, więc domyślnie w katalogu w ścieżce klasy.


Ustawienie zmiennej systemowej CLASSPATH

Użyj tego polecenia, aby wyświetlić aktualną zmienną CLASSPATH:

  • platformy Windows (wiersza poleceń DOS) -> C: \> set CLASSPATH
  • platformy UNIX (Bourne Shell mocy) ->% echo $ CLASSPATH
Usuń zawartość zmiennej prądu CLASSPATH:
  • platformy Windows (wiersza poleceń DOS) -> C: \> set CLASSPATH =
  • platformy UNIX (Bourne Shell mocy) ->% wyłączony CLASSPATH export CLASSPATH;

Ustawianie zmiennej CLASSPATH:

  • platformy Windows (wiersza poleceń DOS) -> set CLASSPATH = c: \ Users \ jack \ Java Classes \
  • platformy UNIX (Bourne Shell mocy) -> = Klasy / home / jack / Java /% CLASSPATH export CLASSPATH;