Latest web development tutorials

Java пакет (пакет)

Для того, чтобы лучше организовать класс, Java, обеспечивает механизм пакет для разницы между именем класса пространства имен.

Роль упаковки

  • Функция аналогичной или связанной с организацией класса или интерфейса в том же пакете, чтобы найти и простой в использовании класс.
  • 2 в той же папке, пакет также используется дерево каталогов для хранения. Классы в то же имя пакета отличается, другой пакет имя класса одно и то же, в то же время вызова двух различных типов пакетов в том же имя класса, имя пакета должно быть добавлено различие. Таким образом, название пакета, чтобы избежать конфликта.
  • 3 пакет также определяет права доступа, классы имеют доступ к пакету, чтобы получить доступ пакет классов.

Java использует пакет (пакет) Этот механизм предназначен для предотвращения конфликтов имен, контроль доступа, обеспечивая поиск и найти класс (класс), интерфейсы, перечислений (Перечисления) и комментарии (аннотаций) и тому подобное.

Пакет синтаксиса заявление:

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

Например, файл его содержание Something.java

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

Тогда это должен быть путь нетто / Java / Util / Something.java так спасены. пакет (пакет) роль классифицировать различные программы Java, хранящуюся более легко назвать другой программой Java.

Пакет (пакет) может быть определен как совокупность типов (классов, интерфейсов, перечислений и аннотацию) взаимосвязаны, чтобы обеспечить защиту от доступа и функции управления пространством имен для этих типов.

Вот некоторые из Java в пакете:

  • java.lang- упаковывают базовый класс
  • Java.io- функция содержит функции ввода и вывода

Разработчики могут поместить свой собственный набор классов и интерфейсов, упакованы, и определить свой собственный пакет. И в реальное развитие должно быть рекомендовано сделать это, когда вы закончите класс реализации, группируя связанные классы, так что другие программисты могут легко определить, какие классы, интерфейсы, перечислений, и комментарии, связанные ,

Поскольку пакет создает новое пространство имен (пространства имен), так что без конфликтов имен с любым другим именем пакета. Используйте этот механизм пакетов, проще реализовать контроль доступа, и пусть найти соответствующий класс легче.


Создать пакет

Создание пакета, вам необходимо принять соответствующее имя для этого пакета. Затем, если исходный файл, который содержит другие классы предложил этот пакет, интерфейс, аннотацию или перечислимую тип, пакет эта декларация должна быть помещена в начале этого исходного файла.

Пакет должен быть объявлен в первой строке исходного файла для каждого исходного файла может иметь только один оператор пакета, файл для каждого типа применяются к нему.

Если вы не используете пакет заявление в исходном файле, а затем один из классов, функций, перечисления, комментарии и т.д. будут размещены в безымянном пакете (неназванный пакет) в.

пример

Давайте посмотрим на пример, который создает пакет под названием животных. Обычно используют прописные буквы, чтобы избежать присвоения имен классов, интерфейсов и название конфликта.

Присоединитесь к пакет интерфейса животных (интерфейс):

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

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

Затем добавьте в том же пакете, который реализует интерфейс:

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

Затем скомпилировать эти два файла и поместить их в подкаталоге с именем животных. Используйте следующую команду для запуска:

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

импорт ключевых слов

Для того, чтобы иметь возможность использовать элемент пакета, нам нужно явно импортировать пакет в программе Java. Использование "импорта" заявление для выполнения этой функции.

В Java операторы импорта исходный файл должен быть расположен после утверждения пакета, все ранее определенные классы, вы не можете, вы также можете иметь несколько, его синтаксис:

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

Если пакет, класс, который вы хотите использовать этот пакет в другом классе, то имя пакета может быть опущен.

пример

Следующий пакет начисления заработной платы уже содержит класс Employee, а затем добавить класс к пакету заработной платы Boss. Когда Босс Сотрудник ссылка на класс класс не может использовать экземпляры префикса начисления заработной платы Boss класс следующим образом.

package payroll;

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

Что делать, если класс не босс пакет начисления заработной платы будет? Босс класс должен использовать один из следующих способов ссылаться на другие классы в пакете

Используйте полное имя описания класса, таких как:

payroll.Employee

С введением импортных ключевых слов, используйте символ подстановки "*"

import payroll.*;

Использование импорта ключевое слово вводит сотрудников класса

import payroll.Employee;

Примечание:

Файл класса может содержать любое количество импортной декларации. декларация импорта должна быть после утверждения пакета, перед объявлением класса.


структура каталогов пакета

Класс на упаковке есть два основных результата:

  • Имя пакета становится частью имени класса, как мы уже говорили ранее.
  • Имя пакета должно соответствовать соответствующий байт-код в том же матче структуры каталогов.

Вот простой способ управлять файлами в Java:

Классы, интерфейсы и другие типы исходного кода в тексте, имя этого файла является именем типа, и .java расширение. Например:

// 文件名 :  Car.java

package vehicle;

public class Car {
   // 类实现  
}

Далее, исходные файлы в каталоге, имя каталога к соответствующему классу своего собственного пакета.

....\vehicle\Car.java

Теперь, правильное название класса и путь будет выглядеть следующим образом:

  • Имя класса -> vehicle.Car

  • Pathname -> машина \ Car.java (в окнах)

Как правило, компания использует свою обращенную форму доменных имен в Интернете, как его имя пакета, например: домен Интернет apple.com, все имена пакетов в com.apple начале. Каждое имя пакета соответствующее части подкаталоге.

Например: Компания имеет com.apple.computers пакет, который содержит известный исходный файл Dell.java, соответствующий должен быть как следующей серии поддиректорий:

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

Время компиляции, компилятор создает другой выходной файл, имя выходного файла является именем этого типа определяется в виде упаковки каждого класса, интерфейса, и добавляется в качестве суффикса добавочного номера .class. Например:

// 文件名: Dell.java

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

Теперь мы используем опцию -d для компиляции файла, следующим образом:

$javac -d . Dell.java

Это место, как это для компиляции файла:

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

Вы можете, как это импортировать все \ COM \ \ яблоко компьютеров \ класс, определенный в интерфейсе:

import com.apple.computers.*;

.class файлы скомпилированы после того, как и должны .java исходные файлы, они помещаются в каталог должен соответствовать имени пакета. Однако путь не требует файл .class с пути, соответствующий .java же. Вы можете организовать отдельные каталоги источника и класса.

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

Таким образом, вы можете поделиться своим каталог классы для других программистов, а не выявить их источник. Таким образом, управлять источником и файлами класса могут позволить компилятор и виртуальная машина Java (JVM), вы можете найти все типы, используемые в программе.

Абсолютные пути директорий класс называется классом путь. Установите в переменной CLASSPATH системы. Компилятор и виртуальная машина Java от имени пакета к классу путь позже путь постройки .class файла.

<Path- два> \ классы это путь класса, имя пакета com.apple.computers, а компилятор и JVM будет <путь-двух классов> \ \ ком \ яблоко \ compters найти файлы .class.

Путь класса может содержать несколько путей. Multi-путь должен быть отделены друг от друга разделителем. По умолчанию, компилятор и JVM найти текущий каталог. JAR-файл, содержащий платформу Java, согласно соответствующему классу, поэтому они по умолчанию на директории в пути к классам.


Системная переменная CLASSPATH Настройка

Используйте следующую команду, чтобы отобразить текущую переменную CLASSPATH:

  • Платформы Windows (DOS командной строки) -> C: \> установить CLASSPATH
  • UNIX платформ (Bourne оболочки под) ->% Эхо $ CLASSPATH
Удалите содержимое переменной CLASSPATH тока:
  • Платформы Windows (DOS командной строки) -> C: \> установить CLASSPATH =
  • UNIX платформ (Bourne оболочки под) ->% CLASSPATH снята с охраны; экспорт CLASSPATH

Установка CLASSPATH переменной:

  • Платформы Windows (DOS командной строки) -> набор CLASSPATH = C: \ Users \ Гнездо \ Java \ Классы
  • UNIX платформ (Bourne оболочки под) ->% CLASSPATH = / главная / гнездо / Java / классы; экспорт CLASSPATH