Atšķirība starp Java pakotnēm un saskarnēm

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 3 Jūlijs 2024
Anonim
Java - Packages
Video: Java - Packages

Saturs


Gan paketes, gan saskarnes darbojas kā konteiners. Pakās un saskarnēs esošo saturu klases var izmantot, attiecīgi importējot un ieviešot to. Galvenā atšķirība starp pakotnēm un saskarnēm ir tāda, ka pakotnē ir klašu un saskarņu grupa, turpretī interfeiss satur metodes un laukus. Pētīsim dažas citas atšķirības, izmantojot salīdzināšanas diagrammu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsPakasSaskarnes
PamataPaketes ir klašu grupa un / vai saskarnes kopā.Interfeisi ir abstraktu metožu un nemainīgu lauku grupa.
AtslēgvārdsPakas tiek izveidotas, izmantojot atslēgvārdu "Package".Interfeiss tiek izveidots, izmantojot atslēgvārdu "Interface".
Sintaksepakete pack_name;
sabiedriskās klases klase_vārds {
.
(klases korpuss)
.
}
interfeisa interfeisa_vārds {
mainīgā deklarācija;
metodes deklarēšana;
}
PiekļuvePaketi var importēt Saskarni var paplašināt ar citu saskarni un ieviest klase.
Piekļūstiet atslēgvārdam Pakas var importēt, izmantojot atslēgvārdu "importēt".Saskarnes var ieviest, izmantojot atslēgvārdu "implement".


Iepakojumu definīcija

Iepakojumi ir dažādu klašu un saskarņu kolekcija vai grupas. Klases paciņās zināmā mērā vai mantojuma dēļ ir saistītas viena ar otru. Varat arī izveidot savu paketi un izmantot to savai programmai.

Izveido paketi

Lai izveidotu paketi, vienkārši rīkojieties šādi.

  1. Atveriet failu un pēc tam faila augšdaļā paziņojiet pakotnes nosaukumu, piemēram, pakotnes nosaukums ir nosaukums, kuru vēlaties piešķirt paketei.
  2. Pēc tam jūs definējat klasi, kuru vēlaties ievietot paketē, un atcerieties, ka jūs to pasludināt par publisku.
  3. Saglabājiet failu kā .java failu un pēc tam apkopojiet failu, pēc tam tam tiek iegūts “.class”.
  4. Lai izveidotu šī faila pakotni, tiek izmantota komanda “javac -d. faila_vārds.java. Var redzēt, ka pakete ir izveidota, kurā pašreizējā direktorijā ir “.class” fails. Lai ievietotu to vecāku direktorijā, izmantojiet “javac -d. . fails_vārds.java ”.
  5. Jūs varat arī izveidot apakšpakati, paziņojot apakšpakas nosaukumu faila augšdaļā.

iepakojums Mypackage; sabiedriskās klases myclass {public void displayMypackage () {system.out.ln ("method displayMypackage of class myclass of pack Mypackage"); }

Pakas lietošana


Mapes, kas izveidotas vai pieejamas direktorijā, var izmantot programmā, izmantojot importēšanas paziņojumu. Jebkura jūsu programmas paketes importēšanai izmantotais atslēgvārds ir “importēt”. Importa paziņojumu var rakstīt divos veidos, vai arī jūs varat teikt, ka ir divi veidi, kā piekļūt jebkurai pakotnei. Pirmkārt, ja vēlaties izmantot noteiktu klasi no paketes, atslēgvārdam “importēt” seko pakotnes nosaukums, kam seko dot operators un klases nosaukums, kuru vēlaties izmantot no paketes. Otrkārt, ja vēlaties izmantot daudzas klases, kas ietilpst paketēs, tad importēšanas atslēgvārdam seko pakotnes nosaukums, kam seko punkts un “*” operators.

importēt paketes_nosaukumu. klases_nosaukums; vai importējiet paketes_nosaukumu. *;

Iepriekš redzamajā kodā varat redzēt zīmi *, kas norāda, ka otrā metode importē visas klases, kas ietilpst paketēs.

Apskatīsim paketes izmantošanu ar piemēru.

importēt Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // izvades metodes displayMypackage klases mycka pakete Mypackage.

Iepriekš minētajā kodā klase TestMypackage ir importējusi pakotni Mypackage un izmantojusi tās displayMypackage () metodi.

Saskarnes definīcija

Interfeiss ir klases veids, taču atšķiras tādā nozīmē, ka interfeisā deklarētās metodes ir abstraktas, kas nozīmē, ka metodes tikai tiek deklarētas, bet nav definētas. Lauki saskarnē vienmēr ir publiski, statiski, galīgi. Lauki jāinicializē deklarēšanas laikā. Saskarnes deklarētās metodes nosaka klase, kas šo saskarni ievieš atbilstoši tās prasībām. Tā kā metodes saskarnē neveic nekādas funkcijas, tāpēc nav nepieciešams izveidot nevienu interfeisa objektu. Tādējādi interfeisam nevar izveidot nevienu objektu.

Saskarne var mantot arī otru saskarni, taču klasei, kas manto šādu saskarni, jāīsteno arī visas pārmantotās saskarnes metodes. Tā kā lauki tiek inicializēti to deklarēšanas laikā saskarnē, tāpēc interfeisā nav nepieciešams konstruktors, tāpēc saskarnē nav neviena konstruktora. Apskatīsim saskarnes izveides un lietošanas piemēru.

saskarnes laukums {float pi = 3.14; float find_area (pludiņš a, pludiņš b) {} klase Aplis realizē apgabalu {pludiņa atraduma laukums (pludiņš a, pludiņš b) {atgriešanās (pi * a * a); } Klases formas {publiski statiskā tukšā galvenā (virknes loka) {A apgabals = jauns apgabals (); C aplis = jauns aplis (); A = C; pludiņš F = laukums. atrast_area (10,10); system.out.ln ("Apļa laukums ir:" + F); }

Iepriekš minētajā kodā mēs bijām izveidojuši interfeisa apgabalu, un klase Circle ir ieviesusi interfeisa apgabalu. Lauks “pi” deklarācijas laikā interfeisā ir inicializēts. Klases aplis ir definējis klases zonas abstrakto metodi atbilstoši tās prasībai.

  1. Pakete ir klašu un saskarņu grupa kopā, savukārt saskarne ir abstraktu metožu grupa.
  2. Pakete tiek izveidota, izmantojot atslēgvārdu pakete turpretī saskarne tiek izveidota, izmantojot atslēgvārdu saskarne.
  3. Ja jāizmanto klase vai interfeiss pakotnes iekšpusē, tas ir importējamais pakotne, kamēr jāīsteno saskarne.

Secinājums:

Gan pakotnes, gan interfeiss ir konteineri. Pakete samazina koda lielumu, jo mēs vienkārši importējam izmantojamo klasi, nevis to atkal definējam.Tā kā saskarne samazina neskaidrības, kas radušās vairāku mantojumu laikā, jo vairāku mantojumu gadījumā mantošanas klasei nav jāizlemj, kura definīcija par to, kuru metodi tai vajadzētu mantot, tā vietā tā definē savu.