Пакеты на Java: как создавать и использовать пакеты на Java?



Этот пост о пакетах на java поможет вам понять, что такое пакеты, как их создавать и использовать на Java, чтобы быть эффективными программистами на Java.

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

Ниже перечислены темы, затронутые в этой статье:





Что такое пакет в Java?

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

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



    • Возможность повторного использования: Классы, содержащиеся в пакетах другой программы, могут быть легко использованы повторно.
    • Конфликты имен: Пакетыпомочь нам однозначно идентифицировать класс, например, мы можем иметь company.sales.Employee и company.marketing.Employee классы
    • Контролируемый доступ: Предложения защита доступа например pзащищенные классы, классы по умолчанию и частный класс
    • Инкапсуляция данных : Они ппредоставить способ скрыть классы, предотвращая доступ других программ к классам, предназначенным только для внутреннего использования
    • Обслуживание: С пакетами,вы можете лучше организовать свой проект и легко найти связанные классы

При кодировании на Java рекомендуется использовать пакеты. Как программист, вы можетелегко понять , связанные интерфейсы, перечисления и аннотации. У нас есть два типа пакетов в java.

Типы пакетов в Java

В зависимости от того, определен ли пакет пользователем или нет, пакеты делятся на две категории:

  1. Встроенные пакеты
  2. Пользовательские пакеты

Встроенные пакеты

Встроенные пакеты или предопределенные пакеты - это те, которые входят в состав (Java Development Kit), чтобы упростить задачу Java-программисту. Они состоят из огромного количества предопределенных классов и интерфейсов, которые являются частью Java API. Некоторые из обычно используемых встроенных пакетов - это java.lang, java.io, java.util, java.applet и т. Д. Вот простая программа, использующая встроенный пакет.



пакет Edureka import java.util.ArrayList class BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('Элементы списка:' + myList)}}

Вывод:

Элементы списка: [3, 2, 1]

Класс ArrayList принадлежит пакету java.util. Чтобы использовать его, мы должны импортировать пакет с помощью оператора импорта. Первая строка кода импорт java.util.ArrayList импортирует пакет java.util и использует который присутствует в дополнительном пакете util.

Пользовательские пакеты

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

Создание пакета на Java

Создание пакета на Java - очень простая задача. Выберите имя для пакета и включите пакет в качестве первого оператора в исходном файле Java. Исходный файл java может содержать классы, интерфейсы, перечисления и типы аннотаций, которые вы хотите включить в пакет.Например, следующий оператор создает пакет с именем MyPackage.

пакет MyPackage

Оператор package просто указывает, какому пакету принадлежат определенные классы.

Заметка: Если вы опустите оператор пакета, имена классов будут помещены в пакет по умолчанию, у которого нет имени. Хотя стандартный пакет подходит для коротких программ, он не подходит для реальных приложений.

Включение класса в пакет Java

Чтобысоздать класс внутри пакета, вы должныобъявите имя пакета как первое выражение вашей программы. Затем включите класс как часть пакета. Но помните, что у класса может быть только одно объявление пакета. Вот простая программа для понимания концепции.

package MyPackage открытый класс Compare {int num1, num2 Compare (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Максимальное значение два числа равно '+ num1)} else {System.out.println (' Максимальное значение двух чисел равно '+ num2)}} public static void main (String args []) {Сравнить текущий [] = новый Сравнить [3] текущий [1] = новое Сравнить (5, 10) текущее [2] = новое Сравнить (123, 120) для (int i = 1 i<3 i++) { current[i].getmax() } } } 

Вывод:

Максимальное значение двух чисел - 10 Максимальное значение двух чисел - 123

Как видите, я объявил пакет с именем MyPackage и создал внутри этого пакета класс Compare. Java использует каталоги файловой системы для хранения пакетов. Итак, эта программа будет сохранена в файле как Compare.java и будет храниться в каталоге с именем MyPackage. Когда файл будет скомпилирован, Java создаст .класс файл и храните его в том же каталоге. Помните, что имя пакета должно совпадать с именем каталога, в котором сохранен этот файл.

Вам может быть интересно, как использовать этот класс Compare из класса в другом пакете?

Создание класса внутри пакета при импорте другого пакета

Что ж, это довольно просто. Вам просто нужно импортировать его. После импорта вы можете получить к нему доступ по имени. Вот пример программы, демонстрирующей эту концепцию.

package Edureka import MyPackage.Compare public class Demo {public static void main (String args []) {int n = 10, m = 10 Compare current = new Compare (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('Оба значения одинаковы')}}}

Вывод:

Оба значения одинаковы

Я сначала объявил посылку Эдурека , затем импортировал класс Сравнить из пакета MyPackage. Итак, порядоккогда мы создаем класс внутри пакета при импорте другого пакета,

  • Декларация пакета
  • Импорт пакета

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

Использование полного имени при импорте класса

Вот пример для понимания концепции. Я собираюсь использовать тот же пакет, который объявил ранее в блоге, MyPackage .

package Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // Использование полного имени вместо import MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Оба значения одинаковы')}}}

Вывод:

Максимальное значение двух чисел - 11

В классе Demo вместо импорта пакета я использовал полное имя, например MyPackage.Compare создать его объект. Поскольку мы говорим об импорте пакетов, вы можете также ознакомиться с концепцией статического импорта в Java.

Статический импорт в Java

Функция статического импорта была введена в начиная с версии 5. Это облегчает Java-программисту доступ к статическимчлен класса напрямую, без использования полного имени.

package MyPackage import static java.lang.Math. * // статический импорт import static java.lang.System. * // статический импорт public class StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Доступ к методу sqrt () напрямую out.println ('Sq. root of' + val + 'is' + sqroot) // Нам не нужно использовать 'System.out}}
 Вывод: 
Кв. корень 64.0 - 8.0

Хотя использование статического импорта требует меньшего количества кода, чрезмерное его использование может сделать программу нечитаемой и не обслуживаемой. Теперь перейдем к следующей теме - контролю доступа в пакетах.

Защита доступа в пакетах Java

Возможно, вы знаете о различных аспектах механизма контроля доступа Java и его спецификаторы доступа . Пакеты в Java добавляют еще одно измерение к контролю доступа. И классы, и пакеты являются средством инкапсуляция данных . В то время как пакеты действуют как контейнеры для классов и других подчиненных пакетов, классы действуют как контейнеры для данных и кода. Из-за такого взаимодействия между пакетами и классами пакеты Java обращаются к четырем категориям видимости для членов класса:

  • Подклассы в одном пакете
  • Не подклассы в одном пакете
  • Подклассы в разных пакетах
  • Классы, не входящие ни в один пакет, ни в подклассы

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

Частный Без модификатора Защищено Общественные

Тот же класс

да

да

да

да

Одинаковые подклассы пакета

Нет

да

да

да

Одинаковые пакеты без подклассов

Нет

да

да

да

Подклассы различных пакетов

Нет

Нет

Java преобразовывает двоичное в десятичное

да

да

Различные пакеты, не являющиеся подклассами

Нет

Нет

Нет

да

Мы можем упростить данные в приведенной выше таблице следующим образом:

  1. Все, что объявлено общедоступным, может быть доступно из любого места
  2. Все, что объявлено частным, можно увидеть только в этом классе
  3. Если спецификатор доступа не указан, элемент виден для подклассов, а также для других классов в том же пакете.
  4. Наконец, любой объявленный защищенный элемент можно увидеть за пределами вашего текущего пакета, но только для классов, которые напрямую подклассифицируют ваш класс.

Таким образом, пакеты Java обеспечивают контроль доступа к классам. На этом концепция пакетов в Java завершается. Вот некоторые моменты, которые следует учитывать при использовании пакетов в .

Что следует помнить

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

Что ж, на этом мы подошли к концу статьи «Пакеты в Java». Мы выучиличто такое пакеты и почему мы должны их использовать. Нет сомнений в том, что пакет Java - одна из самых важных частей для эффективных программистов Java. Это не только улучшает стиль программирования программиста, но и сокращает объем дополнительной работы.

Если вы нашли эту статью «Пакеты на Java», ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Мы здесь, чтобы помогать вам на каждом этапе вашего пути. Для того, чтобы стать помимо вопросов на собеседовании по Java, мы разработали учебную программу, предназначенную для студентов и профессионалов, которые хотят стать Java-разработчиками.