Ieteicams, 2024

Redaktora Izvēle

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

Iepakojumi un saskarnes darbojas kā konteiners. Iepakojumu un saskarņu saturu klases var izmantot, importējot un ieviešot to atbilstoši. Galvenā atšķirība starp iepakojumiem un saskarnēm ir tāda, ka iepakojumā ir grupu un saskarņu grupa, savukārt interfeisā ir metodes un lauki. Pētīsim dažas citas atšķirības, izmantojot salīdzinājuma diagrammu.

Salīdzinājuma diagramma

Salīdzinājuma pamatsIepakojumiSaskarnes
PamataIepakojumi ir grupu un / vai saskarņu grupa.Saskarnes ir abstraktu metožu un pastāvīgu lauku grupa.
AtslēgvārdsPaketes tiek izveidotas, izmantojot atslēgvārdu "Package".Saskarne tiek veidota, izmantojot atslēgvārdu "Saskarne".
Sintaksepaketes pakotnes nosaukums;
publiskās klases klases nosaukums {
.
(klase)
.
}
saskarnes interfeisa nosaukums {
mainīgā deklarācija;
metodes deklarācija;
}
PiekļuvePaketi var importētInterfeisu var paplašināt ar citu saskarni un to var īstenot klasē.
Piekļūstiet atslēgvārdamPaketes var importēt, izmantojot atslēgvārdu "importēt".Saskarnes var īstenot, izmantojot atslēgvārdu "implementēt".

Iepakojumu definīcija

Iepakojumi ir kolekciju vai grupu un interfeisu grupas. Klases paketēs ir saistītas viena ar otru kādā apjomā vai mantojumā. Varat arī izveidot savu paketi un izmantot to savai programmai.

Paketes izveide

Lai izveidotu paketi, izpildiet tālāk norādītās darbības.

  1. Atveriet failu un pēc tam paziņojiet paketes nosaukumu faila augšpusē, piemēram, [paketes pakotnes nosaukums; ] paketes nosaukums ir nosaukums, kuru vēlaties piešķirt paketē.
  2. Tālāk jūs definējat klasi, kuru vēlaties ievietot paketē, un atcerieties, ka jūs to publiskojat.
  3. Saglabājiet failu kā .java failu un pēc tam sastādiet failu, tad šim failam tiek iegūts .class.
  4. Lai izveidotu pakotni šim failam, izmantotā komanda ir “javac-d. file_name.java. Jūs varat redzēt, ka pakete ir izveidota, kurā pašreizējā direktorijā ir ".class" fails. Lai to ievietotu mātes direktorijā, izmantojiet “javac-d. . file_name.java ”komanda.
  5. Varat arī izveidot apakškopu, deklarējot apakškopu nosaukumu kā [paketes pakotnes nosaukums1. pack_name2; ] faila augšdaļā.
 Mypackage pakete; public class myclass {public void displayMypackage () {system.out.println ("pakotnes Mypackage klases klase" Mypackage "); } 

Iepakojuma izmantošana

Katalogā izveidotās vai pieejamās paketes var izmantot programmā, izmantojot importa paziņojumu. Atslēgvārds, ko izmanto, lai importētu jebkuru paketi savā programmā, ir “imports”. Importa paziņojumu var rakstīt divos veidos, vai arī jūs varat teikt, ka ir divi veidi, kā piekļūt jebkuram iepakojumam. Pirmkārt, ja jūs vēlaties izmantot konkrētu klasi no paketes, atslēgvārdam “Import” seko paketes nosaukums, kam seko dot operators un klases nosaukums, kuru vēlaties izmantot no paketes. Otrkārt, ja vēlaties izmantot daudzas klases, kas ir iekļautas iepakojumos, importēšanas atslēgvārdam seko pakotnes nosaukums, kam seko punkts un operators *.

 importēt pakotnes nosaukumu. klases nosaukums; vai importēt pakotnes nosaukumu. *; 

Iepriekš minētajā kodā var redzēt * zīmi, kas norāda, ka otra metode importē visas paketēs ietvertās klases.

Tagad aplūkosim iepakojuma izmantošanu ar piemēru.

 importēt Mypackage. myclass {class TestMypackage {public static void main (string args []) {myclass ob1 = jauns myclass (); ob1.displayMypackage (); }} // izejas metode displayMypackage paketes Mypackage klases klasē. 

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

Interfeisa definīcija

Interfeiss ir sava veida klase, bet atšķiras tādā ziņā, ka saskarnē deklarētās metodes ir abstrakti, kas nozīmē, ka metodes tiek deklarētas, bet nav definētas. Interfeisa lauki vienmēr ir publiski, statiski, galīgi. Lauki ir jāformulē deklarācijas brīdī. Interfeisa deklarētās metodes definē klase, kas īsteno šo saskarni atbilstoši tās prasībām. Tā kā saskarnē esošās metodes neveic nekādas funkcijas, nav iespējams izveidot interfeisa objektu. Tādējādi interfeisam nevar izveidot nevienu objektu.

Interfeiss var arī mantot otru saskarni, bet klasei, kas pārmanto šādu saskarni, ir jāīsteno arī visas mantotās saskarnes metodes. Tā kā lauki tiek inicializēti to deklarēšanas laikā saskarnē, tāpēc interfeisā nav konstruktora, tāpēc interfeisā nav konstruktora. Redzēsim interfeisa izveides un izmantošanas piemēru.

 interfeisa zona {float pi = 3.14; float find_area (float a, float b) {} klases aplis īsteno zonu {float find_area (peldēt a, peldēt b) {atgriešanās (pi * a * a); } Klases formas {publiskā statiskā tukšuma galvenā (virkne args []) {Platība A = jauns apgabals (); Aplis C = jauns aplis (); A = C; pludiņš F = Platība. find_area (10, 10); system.out.println ("Apļa apgabals ir:" + F); } 

Iepriekš minētajā kodā mēs izveidojām interfeisa zonu, un klases aplis ir ieviesis interfeisa apgabalu. Lauks “pi” ir sākts saskarnē deklarācijas brīdī. Klases aplis ir definējis klases telpas abstrakto metodi atbilstoši tās prasībām.

Galvenās atšķirības starp paketēm un saskarnēm Java

  1. Pakete ir grupu un saskarņu grupa kopā, savukārt saskarne ir abstraktu metožu grupa.
  2. Pakete tiek veidota, izmantojot atslēgvārdu paketi, savukārt interfeiss tiek izveidots, izmantojot atslēgvārdu interfeisu .
  3. Ja ir jāizmanto iepakojuma klase vai interfeiss, tad pakete, kas jāieved, kamēr ir jāievieš saskarne.

Secinājums:

Gan iepakojumi, gan interfeiss ir konteineri. Pakete samazina koda lielumu, jo mēs vienkārši importējam izmantojamo klasi, nevis atkal definējam to. Tā kā saskarne samazina neskaidrības, kas radušās vairāku mantojumu dēļ, jo vairāku mantojumu gadījumā mantotajai klasei nav jāizlemj, kura metode tai vajadzētu mantot, tā definē savu.

Top