Разлика између пакета и интерфејса у Јави

Аутор: Laura McKinney
Датум Стварања: 2 Април 2021
Ажурирати Датум: 4 Може 2024
Anonim
Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.
Видео: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов.

Садржај


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

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеПакетиИнтерфејси
ОсновниПакети су група класа и / или интерфејса заједно.Интерфејси су група апстрактних метода и константних поља.
Кључна речПакети се креирају помоћу кључне речи "Пацкаге".Интерфејс се креира помоћу кључне речи "Интерфаце".
Синтаксапацкаге пацкаге_наме;
публиц цласс цласс_наме {
.
(тело класе)
.
}
интерфаце интерфаце_наме {
променљива декларација;
декларација метода;
}
ПриступПакет се може увести Интерфејс се може проширити другим интерфејсом и имплементирати класа.
Приступите кључној речи Пакети се могу увести помоћу кључне речи "импорт".Интерфејси се могу имплементирати помоћу кључне речи "имплементирати".


Дефиниција пакета

Пакети су колекција или групе различитих класа и сучеља. Часови у пакетима су у неком обиму или наслеђени међусобно повезани. Такође можете да креирате пакет и користите га за свој програм.

Израда пакета

За креирање пакета само следите следеће кораке.

  1. Отворите датотеку, а затим на врху датотеке декларирајте име пакета, као што је име пакета име које желите дати пакету.
  2. Затим одредите класу коју желите да ставите у пакет и запамтите да сте је прогласили јавно.
  3. Сачувајте датотеку као .јава датотеку, а затим компајлирајте датотеку, а затим ћете добити „.цласс“ за ту датотеку.
  4. За креирање пакета за ову датотеку коришћена је наредба „јавац -д. филе_наме.јава. Можете видети да је пакет креиран са датотеком „.цласс“ у тренутном директорију. Да бисте га поставили у надређени директориј користите „јавац -д. . филе_наме.јава ”команда.
  5. Такође можете да креирате потпакову тако што ћете на врху датотеке изјавити име подпаковке.

пакет Мипацкаге; јавна класа мицласс {публиц воид дисплаиМипацкаге () {систем.оут.лн ("метода дисплаиМипацкаге класе мицласс од пакета Мипацкаге"); }

Коришћење пакета


Пакети креирани или доступни у директоријуму могу се користити у програму помоћу извоза увоза. Кључна реч која се користи за увоз било којег пакета у вашем програму је „увоз“. Изјава о увозу може се написати на два начина или можете рећи да постоје два начина за приступ било којем пакету. Прво, ако желите користити одређену класу из пакета, кључној ријечи "импорт" слиједи име пакета, а затим слиједи оператор дот-а и назив класе који желите користити из пакета. Друго, ако желите да користите много класа које се налазе у пакетима, тада кључној речи увоз следи име пакета, а затим тачка и оператер "*".

импорт пацкаге_наме. Назив класе; или увести име_пакета. *;

У горњем коду можете видети знак * који показује да друга метода увози све класе које се налазе у пакетима.

Погледајмо сада употребу пакета са примером.

импорт Мипацкаге. мицласс {класа ТестМипацкаге {јавни статички воид маин (стринг аргс) {мицласс об1 = нови мицласс (); об1.дисплаиМипацкаге (); }} // приказ излазне методеМипацкаге класе мицласс од пакета Мипацкаге.

У горњем коду, класа ТестМипацкаге је увела пакет Мипацкаге и користи своју методу дисплаиМипацкаге ().

Дефиниција интерфејса

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

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

Површина интерфејса {флоат пи = 3,14; флоат финд_ареа (флоат а, флоат б) {} класа Цирцле имплементира област {флоат финд_ареа (флоат а, флоат б) {ретурн (пи * а * а); } Облици класе {јавни статички воид маин (стринг аргс) {Ареа А = нев Ареа (); Круг Ц = нови круг (); А = Ц; плута Ф = област. финд_ареа (10,10); систем.оут.лн ("Подручје круга је:" + Ф); }

У горњем коду, направили смо интерфејс Ареа, а класа Цирцле је имплементирала интерфејс Ареа. Поље „пи“ је иницијализирано у интерфејсу у тренутку његове декларације. Круг класе је дефинисао апстрактну методу подручја класе у складу са својим захтевима.

  1. Пакет је група класа и интерфејса заједно док је интерфејс група апстрактних метода.
  2. Пакет се креира помоћу кључне речи пакет док се интерфејс креира помоћу кључне речи интерфејс.
  3. Ако ће се користити класа или интерфејс унутар пакета, пакетис треба увести док интерфејс мора бити имплементиран.

Закључак:

Пакети и интерфејс су контејнери. Пакет смањује величину кода док само увозимо класу која се користи, а не поново је дефинишемо.Док сучеље смањује конфузије до којих је дошло током вишеструког насљеђивања, јер у случају више насљеђивања класа насљеђивања не мора одлучити која ће дефиниција метода коју треба наслиједити, већ дефинира властиту.