Пакети в Java: Как да създавате и използвате пакети в Java?



Тази публикация за пакети в Java ще ви помогне да разберете какво представляват пакетите, как да ги създавате и използвате в Java, за да бъдете ефективни Java програмисти.

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

По-долу са изброени темите, обхванати в тази статия:





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

Пакетът Java е механизъм за групиране на подобен тип класове, интерфейси и подкласове колективно въз основа на функционалността. Когато софтуерът е написан в , той може да се състои от стотици или дори хиляди отделни класове. Азt има смисъл да се организират нещата чрез поставяне на свързани класове и интерфейси в пакети.

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



    • Повторно използване: Класовете, съдържащи се в пакетите на друга програма, могат лесно да бъдат използвани повторно
    • Име Конфликти: Пакетипомогнете ни да идентифицираме уникално клас, например, който можем да имаме company.sales.Equieee и компания.маркетинг.Служител класове
    • Контролиран достъп: Оферти защита на достъпа като стрротектирани класове, класове по подразбиране и частен клас
    • Капсулиране на данни : Те пrovide начин за скриване на класове, предотвратявайки достъпа на други програми до класове, предназначени само за вътрешна употреба
    • Поддръжка: С пакети,можете да организирате проекта си по-добре и лесно да намерите свързани класове

Добра практика е да използвате пакети, докато кодирате в 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) Система. out.println ('Елементите на списъка са:' + myList)}}

Изход:

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

Класът ArrayList принадлежи към пакета java.util. За да го използваме, трябва да импортираме пакета, като използваме оператора import. Първият ред на кода импортиране на java.util.ArrayList импортира пакета java.util и използва който присъства в подпакета util.

Потребителски пакети

Потребителски дефинирани пакети са тези, които се разработват от потребителите с цел групиране на свързани класове, интерфейси и подпакети. С помощта на примерна програма нека видим как да създаваме пакети, да компилираме Java програми вътре в пакетите и да ги изпълняваме.

Създаване на пакет в Java

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

пакет MyPackage

Изявлението на пакета просто указва към кой пакет принадлежат дефинираните класове.

Забележка: Ако пропуснете инструкцията за пакета, имената на класовете се поставят в пакета по подразбиране, който няма име. Въпреки че пакетът по подразбиране е подходящ за кратки програми, той не е подходящ за реални приложения.

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

Да сетрябва да създадете клас в пакетадекларирайте името на пакета като първото изявление на вашата програма. След това включете класа като част от пакета. Но не забравяйте, че клас може да има само една декларация за пакет. Ето една проста програма за разбиране на концепцията.

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

Изход:

купчина и стек памет в Java
Максималната стойност на две числа е 10 Максималната стойност на две числа е 123

Както можете да видите, декларирах пакет с име MyPackage и създадох клас Сравнение вътре в този пакет. Java използва директории на файлова система за съхраняване на пакети. Така че тази програма ще бъде записана във файл като Сравнете.java и ще се съхранява в директорията с име MyPackage. Когато файлът се компилира, Java ще създаде .клас файл и го съхранявайте в същата директория. Не забравяйте, че името на пакета трябва да е същото като директорията, в която е записан този файл.

Може би се чудите как да използвате този клас за сравнение от клас в друг пакет?

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

Е, това е съвсем просто. Трябва само да го импортирате. След като бъде импортиран, можете да получите достъп до него по името му. Ето примерна програма, демонстрираща концепцията.

пакет Edureka импортиране MyPackage.Compare публичен клас Демо {public static void main (String args []) {int n = 10, m = 10 Сравнение current = new Сравнение (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('И двете стойности са еднакви')}}}

Изход:

И двете стойности са еднакви

Първо декларирах пакета Едурека , след това импортира класа Сравнете от пакета MyPackage. И така, редъткогато създаваме клас вътре в пакет, докато импортираме друг пакет е,

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

Е, ако не искате да използвате инструкцията за импортиране, има друга алтернатива за достъп до файл с клас на пакета от друг пакет. Можете просто да използвате напълно квалифицирано име, докато импортирате .

Използване на напълно квалифицирано име при импортиране на клас

Ето пример за разбиране на концепцията. Ще използвам същия пакет, който съм декларирал по-рано в блога, MyPackage .

пакет Edureka публичен клас Демо {public static void main (String args []) {int n = 10, m = 11 // Използване на напълно квалифицирано име вместо импортиране на MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('И двете стойности са еднакви')}}}

Изход:

Максималната стойност на две числа е 11

В демо класа, вместо да импортирам пакета, използвах напълно квалифицираното име като MyPackage.Compare за да създадете обекта му. Тъй като говорим за импортиране на пакети, можете също така да проверите концепцията за статичен импорт в Java.

Статичен импорт в Java

Въведена е статична функция за импортиране през от версия 5. Улеснява Java програмиста за достъп до всякакви статичничлен на клас директно, без да използва пълното име.

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

Въпреки че използването на статичен импорт включва по-малко кодиране, прекаленото използване може да направи програмата нечетлива и неподдържана. Сега да преминем към следващата тема, контрол на достъпа в пакети.

Защита на достъпа в Java пакети

Може да сте наясно с различни аспекти на механизма за контрол на достъпа на Java и неговите спецификатори за достъп . Пакетите в Java добавят друго измерение за контрол на достъпа. Както класовете, така и пакетите са средство за капсулиране на данни . Докато пакетите действат като контейнери за класове и други подчинени пакети, класовете действат като контейнери за данни и код. Поради това взаимодействие между пакети и класове, Java пакетите адресират четири категории видимост за членовете на класа:

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

Таблицата по-долу дава aреална картина от кой тип достъп е възможен и кой не при използване на пакети в Java:

Частен Без модификатор Защитена Публично

Същия клас

Да

Да

Да

Да

Подкласове на същия пакет

Не

Да

Да

Да

Неподкласове на същия пакет

Не

Да

Да

Да

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

Не

Не

Да

Да

Различни пакети Не-подкласове

Не

Не

Не

Да

Можем да опростим данните в горната таблица, както следва:

  1. До всичко, обявено за обществено, може да се получи отвсякъде
  2. Всичко, обявено за частно, може да се види само в рамките на този клас
  3. Ако спецификаторът за достъп не е споменат, елемент е видим за подкласове, както и за други класове в същия пакет
  4. И накрая, всичко обявено за защитен елемент може да се види извън текущия ви пакет, но само за класове, които подкласират директно вашия клас

По този начин Java пакетите осигуряват контрол на достъпа до класовете. Е, това завършва концепцията за пакетите в Java. Ето някои точки, които трябва да имате предвид, когато използвате пакети в .

Точки за запомняне

  • Всеки клас е част от някакъв пакет. Ако пропуснете инструкцията за пакета, имената на класовете се поставят в пакета по подразбиране
  • Един клас може да има само един оператор на пакет, но може да има повече от един оператор за импортиране на пакети
  • Името на пакета трябва да е същото като директорията, в която е записан файлът
  • Когато импортирате друг пакет, декларацията на пакета трябва да бъде първият оператор, последван от импортиране на пакет

Е, това ни води до края на тази статия „Пакети в Java“. Научихмекакво представлява опаковката и защо трябва да ги използваме. Няма съмнение, че Java пакетът е една от най-важните части за ефективните Java програмисти. Той не само надгражда стила на кодиране на програмиста, но и намалява много допълнителна работа.

разлика между куклен и готвач

Ако сте намерили тази статия за „Пакети в Java“, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете освен тези въпроси за интервю за Java, измислим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java.