Пакети на Јави: Како створити и користити пакете на Јави?



Овај пост о пакетима у јави помоћи ће вам да разумете шта су пакети, како их креирати и користити у Јави да би били ефикасни јава програмери.

Један од најиновативнијих је концепт пакета.Пакети у Јави су начин за инкапсулирање групе класа, интерфејса, набрајања, напомена и потпакета. Концептуално, Јава пакете можете сматрати сличним различитим директоријумима на рачунару. У овом упутству ћемо покрити основе пакета у

Доље су наведене теме обухваћене овим чланком:





Шта је пакет у Јави?

Јава пакет је механизам за груписање сличног типа класа, интерфејса и подкласа на основу функционалности. Када је софтвер написан у , може се састојати од стотина или чак хиљада појединачних класа. ЈаИма смисла држати ствари организованим стављањем сродних класа и интерфејса у пакете.

Коришћење пакета током кодирања нуди бројне предности попут:



    • Поновна употребљивост: Класе садржане у пакетима другог програма могу се лако поново користити
    • Сукоби у имену: Пакетипомозите нам да јединствено идентификујемо класу, на пример, коју можемо имати компанија.продаје.Запосленик и компанија.маркетинг.запослени класе
    • Контролисани приступ: Понуде заштита приступа као што је стрзаштићене класе, подразумеване класе и приватна класа
    • Инкапсулација података : Они стромогућити начин сакривања класа, спречавајући друге програме да приступају часовима који су намењени само за интерну употребу
    • Одржавање: Са пакетима,можете боље организовати свој пројекат и лако лоцирати сродне часове

Добра је пракса коришћење пакета током кодирања на Јави. Као програмер можетелако схватити , интерфејси, набрајања и напомене које су повезане. У јави имамо две врсте пакета.

Врсте пакета у Јави

На основу тога да ли је пакет дефинисао корисник или не, пакети су подељени у две категорије:

  1. Уграђени пакети
  2. Кориснички дефинисани пакети

Уграђени пакети

Уграђени пакети или унапред дефинисани пакети су они који се испоручују као део (Јава Девелопмент Кит) за поједностављивање задатка Јава програмера. Састоје се од великог броја унапред дефинисаних класа и интерфејса који су део Јава АПИ-ја. Неки од најчешће коришћених уграђених пакета су јава.ланг, јава.ио, јава.утил, јава.апплет итд. Ево једноставног програма који користи уграђени пакет.



пакет Едурека импорт јава.утил.АрраиЛист цласс БуилтИнПацкаге {публиц статиц воид маин (Стринг [] аргс) {АрраиЛист миЛист = нев АрраиЛист (3) миЛист.адд (3) миЛист.адд (2) миЛист.адд (1) Систем. оут.принтлн ('Елементи листе су:' + моја листа)}}

Излаз:

Елементи листе су: [3, 2, 1]

Класа АрраиЛист припада пакету јава.утил. Да бисмо га користили, морамо увозити пакет помоћу наредбе импорт. Прва линија кода импорт јава.утил.АрраиЛист увози пакет и користи јава.утил која је присутна у потпакету утил.

Кориснички дефинисани пакети

Кориснички дефинисани пакети су они које корисници развијају како би групирали сродне класе, интерфејсе и потпакете. Уз помоћ примера програма, погледајмо како да креирамо пакете, компајлирамо Јава програме унутар пакета и извршимо их.

Креирање пакета на Јави

Стварање пакета на Јави је врло лак задатак. Изаберите име пакета и укључите а пакет наредба као прва изјава у Јава изворној датотеци. Јава изворна датотека може садржати класе, интерфејсе, набрајања и типове напомена које желите да укључите у пакет.На пример, следећа изјава креира пакет са именом МиПацкаге.

пакет МиПацкаге

Изјава о пакету једноставно одређује којем пакету припадају дефинисане класе ..

Белешка: Ако изоставите изјаву о пакету, имена класе се стављају у задани пакет, који нема име. Иако је подразумевани пакет у реду за кратке програме, он није адекватан за праве апликације.

Укључујући класу у Јава пакету

Докреирајте класу унутар пакета, требали бистепрогласите име пакета првом изјавом вашег програма. Затим укључите час као део пакета. Али, упамтите то, класа може имати само једну декларацију пакета. Ево једноставног програма за разумевање концепта.

како се користе параметри у табели
пакет МиПацкаге јавна класа Упореди {инт нум1, нум2 Упореди (инт н, инт м) {нум1 = н нум2 = м} публиц воид гетмак () {иф (нум1> нум2) {Систем.оут.принтлн ('Максимална вредност два нумберс је '+ нум1)} елсе {Систем.оут.принтлн (' Макимум валуе оф тво нумберс ис '+ нум2)}} публиц статиц воид маин (Стринг аргс []) {Цомпаре цуррент [] = нев Цомпаре [3] цуррент [1] = ново Упореди (5, 10) тренутно [2] = ново Упореди (123, 120) за (инт и = 1 и<3 i++) { current[i].getmax() } } } 

Излаз:

Максимална вредност два броја је 10 Максимална вредност два броја је 123

Као што видите, прогласио сам пакет под називом МиПацкаге и створио класу Цомпаре унутар тог пакета. Јава користи директоријуме система датотека за складиштење пакета. Дакле, овај програм би био сачуван у датотеци као Упореди.јава и чуваће се у директоријуму названом МиПацкаге. Када се датотека компајлира, Јава ће створити .класа датотеку и сачувајте је у истом директоријуму. Имајте на уму да име пакета мора бити исто као именик у којем је сачувана ова датотека.

Можда се питате како да користите ову класу упоређивања из класе у другом пакету?

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

Па, сасвим је једноставно. Само га требате увести. Једном када је увезен, можете му приступити под његовим именом. Ево примера програма који демонстрира концепт.

пакет Едурека импорт МиПацкаге.Цомпаре публиц цласс Демо {публиц статиц воид маин (Стринг аргс []) {инт н = 10, м = 10 Упореди цуррент = нев Упореди (н, м) иф (н! = м) {цуррент.гетмак ()} елсе {Систем.оут.принтлн ('Обе вредности су исте')}}}

Излаз:

Обе вредности су исте

Прво сам прогласио пакет Едурека , затим увезао класу Упоредити из пакета МиПацкаге. Дакле, наредбакада креирамо класу унутар пакета док увозимо други пакет је,

  • Изјава о пакету
  • Увоз пакета

Па, ако не желите да користите изјаву о увозу, постоји друга алтернатива за приступ датотеци класе пакета из другог пакета. Можете само користити потпуно квалификовано име током увоза а .

Коришћење потпуно квалификованог имена током увоза класе

Ево примера за разумевање концепта. Користићу исти пакет који сам раније објавио на блогу, МиПацкаге .

пакет Едурека јавна класа Демо {публиц статиц воид маин (Стринг аргс []) {инт н = 10, м = 11 // Употреба потпуно квалификованог имена уместо увоза МиПацкаге.Цомпаре цуррент = нев МиПацкаге.Цомпаре (н, м) иф ( н! = м) {цуррент.гетмак ()} елсе {Систем.оут.принтлн ('Обе вредности су исте')}}}

Излаз:

Максимална вредност два броја је 11

У демо класи, уместо да увозим пакет, користио сам потпуно квалификовано име као што је МиПацкаге.Цомпаре створити њен објекат. Будући да говоримо о увозу пакета, можда бисте могли погледати и концепт статичког увоза у Јави.

Статички увоз у Јави

Функција статичког увоза је уведена у од верзије 5. Омогућава Јава програмеру приступ било којој статичкој енергијичлан класе директно без коришћења потпуно квалификованог имена.

пакет МиПацкаге импорт статиц јава.ланг.Матх. * // статиц импорт импорт статиц јава.ланг.Систем. * // статиц импорт публиц цласс СтатицИмпортДемо {публиц статиц воид маин (Стринг аргс []) {доубле вал = 64.0 доубле скроот = скрт (вал) // Приступите скрт () методи директно оут.принтлн ('Ск. роот од' + вал + 'је' + скроот) // Не треба да користимо 'Систем.оут}}
 Излаз: 
Ск. корен 64.0 је 8.0

Иако коришћење статичког увоза укључује мање кодирања, прекомерно коришћење програма може учинити програм нечитким и неодрживим. Сада пређимо на следећу тему, контролу приступа у пакетима.

Заштита приступа у Јава пакетима

Можда су вам познати различити аспекти Јава-овог механизма контроле приступа и његових спецификатори приступа . Пакети у Јави додају још једну димензију контроли приступа. И класе и пакети су средство за инкапсулација података . Док пакети делују као контејнери за класе и други подређени пакети, класе делују као контејнери за податке и код. Због ове интеракције између пакета и класа, Јава пакети се односе на четири категорије видљивости за чланове класе:

  • Подразреди у истом пакету
  • Неподкласе у истом пакету
  • Подразреди у различитим пакетима
  • Предмети који се не налазе у истом пакету нити у подразредима

Табела испод даје астварна слика којем типу је приступ могућ, а којем не када се користе пакети у Јави:

Приватни Нема модификатора Заштићено Јавно

Иста класа

да

да

да

да

Подкласе истог пакета

Не

да

да

да

Неподкласе истог пакета

Не

да

да

да

Подразреди различитих пакета

Не

Не

да

да

Различити пакети који нису подкласе

Не

Не

разлика између хешмапе и хештејла

Не

да

Податке у горњој табели можемо поједноставити на следећи начин:

  1. Свему што је проглашено јавним може се приступити са било ког места
  2. Све што је проглашено приватним може се видети само унутар те класе
  3. Ако се спецификатор приступа не помиње, елемент је видљив подкласама као и осталим класама у истом пакету
  4. На крају, све што је проглашено заштићеним елементом може се видети изван вашег тренутног пакета, али само класама које директно подкласирају вашу класу

На овај начин, Јава пакети пружају контролу приступа класама. Па, ово заокружује концепт пакета у Јави. Ево неколико тачака које бисте требали имати на уму када користите пакете у .

Тачке које треба запамтити

  • Свака класа је део неког пакета. Ако изоставите изјаву о пакету, имена класа се стављају у задани пакет
  • Класа може имати само један израз пакета, али може имати више израза пакета за увоз
  • Име пакета мора бити исто као и директоријум под којим је датотека сачувана
  • При увозу другог пакета, декларација пакета мора бити прва изјава, а затим увоз пакета

Па, ово нас доводи до краја овог чланка „Пакети на Јави“. Сазнали смошта је пакет и зашто бисмо их требали користити. Нема сумње да је Јава пакет један од најважнијих делова за ефикасне Јава програмере. То не само да надограђује стил кодирања програмера, већ и смањује пуно додатног рада.

Ако сте пронашли овај чланак о „Пакетима на Јави“, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на вашем путовању, јер поред тога што постављате питања о јава интервјуу, осмислили смо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду Јава програмери.