2010-09-17 3 views

ответ

8

Пакеты в основном только способ организации кода. В JDK есть тысячи классов, а большое приложение имеет еще тысячи. Зачем вам не хотите организовать их в какой-то иерархии, позволяющей легко находить интересующие вас классы?

Пакеты также участвовать в управлении доступом в Java (но не в .NET, что интересно) - но я бы сказал, что главная цель состоит в том, чтобы помочь людям организовать свой код осмысленно.

Это также означает, что иногда вам может понадобиться или требуется одно и то же имя класса в нескольких пакетах - где имя пакета эффективно предоставляет контекст. Теперь, если вы работаете в одной базе кода для одного приложения, это обычно что-то стараться избегать - но если у вас есть большая база кода, где многие разные приложения используют много разных ее частей, это может быть лучше, чем пытаясь иметь уникальное имя для каждого отдельного класса. (Типичным примером этого является код пользовательского интерфейса - просто в библиотеках .NET есть класс «Button» в трех отдельных пространствах имен для трех отдельных интерфейсов пользовательского интерфейса.)

0

Пакеты - это способ группировки похожих классов , Вы не хотите ставить все свои классы в один пакет, не так ли?

1

Подумайте о пакетах в java как папках на вашем ПК. Вы любите хранить файлы разных типов в разных папках, так же как и в разных пакетах в Java, для разных классов и интерфейсов.

Поступая таким образом, мы получаем некоторые преимущества и некоторые из них перечислены цен ниже

  • Группировки похожих файлов: Вы сохраняете видео в папке, как развлечения \ видео, документы в папке, как Personal \ Документы. Подобно этому, подобные классы и интерфейсы хранятся в одних и тех же пакетах в java.
  • Безопасность: Как вы можете скрыть или установить пароль для защиты содержимого ваших файлов в папке, вы можете достичь такой же функции, объявив своих членов класса защищенными или без каких-либо спецификаторов доступа.
  • Считываемость и доступность: Предположим, вам нужно найти какой-то класс или интерфейс, тогда вы можете найти такой пакет по его названию и продолжить поиск. Таким образом, вы можете сузить область поиска, а затем найти и получить к нему доступ простым способом.
  • Использование только необходимых файлов Предположим, вы просто выполняете простую программу приветствия, и вам не нужно так много классов, которые нужно импортировать, и в этом случае все классы, доступные в java-библиотеке, не будут импортированы. Если у вас нет пакетов, то каждый класс в java-библиотеке будет импортирован.

Мы определяем класс/интерфейс в пакете с ключевым словом java package, за которым следует структура пакета. Это должен быть первый оператор вашего класса/интерфейса. Если вы не определяете имя пакета, этот файл будет помещен в пакет по умолчанию, который является вашей папкой с исходным кодом.

package com.my.package.MyClass;

Пакеты используются в Java, которому предшествует ключевое слово import. Уровни пакетов доступны с помощью оператора dot (.), Так как мы делаем «/» или «\» в папках папок на ПК.

импортировать класс MyClass, доступные в пакете с именем ком \ мой \ пакет:

import com.my.package.MyClass;

Импорт всех классов, доступных в пакете с именем ком \ My \ пакет:

import com.my.package.*;

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

import static com.my.package.MyClass.myStaticField;

Смежные вопросы