Erinevus Java pakettide ja liideste vahel

Autor: Laura McKinney
Loomise Kuupäev: 2 Aprill 2021
Värskenduse Kuupäev: 3 Juuli 2024
Anonim
Erinevus Java pakettide ja liideste vahel - Tehnoloogia
Erinevus Java pakettide ja liideste vahel - Tehnoloogia

Sisu


Pakendid ja liidesed toimivad konteinerina. Pakettide ja liideste sisu saavad klassid kasutada, importides ja rakendades seda vastavalt. Põhiline erinevus pakettide ja liideste vahel on see, et pakett sisaldab rühma klasse ja liideseid, liides aga meetodeid ja välju. Uurime võrdlusdiagrammi abil mõnda muud erinevust.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusPaketidLiidesed
PõhilinePaketid on klasside ja / või liideste rühm koos.Liidesed on rühm abstraktseid meetodeid ja püsivälju.
MärksõnaPaketid luuakse märksõnaga "Pakett".Liidese loomiseks kasutatakse märksõna "Liides".
Süntakspaketi paketi_nimi;
avaliku klassi klass_nimi {
.
(klassi korpus)
.
}
liidese liides_nimi {
muutuv deklaratsioon;
meetodi deklareerimine;
}
JuurdepääsPaketi saab importida Liidest saab laiendada mõne muu liidese abil ja seda saab rakendada klass.
Juurdepääs märksõnale Pakendeid saab importida märksõna "import" abil.Liideseid saab rakendada märksõnaga "rakenda".


Pakendite määratlus

Pakendid on mitmesuguste klasside ja liideste kogumid või rühmad. Pakendites olevad klassid on üksteisega seotud mingis ulatuses või pärimise teel. Võite ka oma paketi luua ja seda oma programmi jaoks kasutada.

Paketi loomine

Paketi loomiseks toimige järgmiselt.

  1. Avage fail ja kuulutage faili ülaosas paketi nimi, näiteks paketi nimi on nimi, mille soovite paketile anda.
  2. Järgmisena määratlete klassi, mille soovite pakendisse panna, ja pidage meeles, et kuulutasite selle avalikuks.
  3. Salvestage fail .java-failina ja seejärel kompileerige fail, seejärel saadakse selle faili jaoks .class.
  4. Selle faili jaoks paketi loomiseks kasutatakse käsku “javac -d. failinimi.java. Näete, et pakett on loodud praeguses kataloogis kataloogis .class-failiga. Emakataloogi paigutamiseks kasutage javac -d. . failinimi.java ”.
  5. Alampaki saate luua ka alampaki nime kuulutamisega faili ülaosas.

pakett Mypackage; avaliku klassi myclass {public void displayMypackage () {system.out.ln ("meetod displayMypackage klassi myclass pakendis Mypackage"); }

Paketi kasutamine


Kataloogis loodud või saadaval olevaid pakette saab programmis kasutada impordi väljavõtte abil. Teie programmi kõigi pakettide importimiseks kasutatav märksõna on „import”. Impordi avaldust saab kirjutada kahel viisil või võite öelda, et mis tahes paketi juurde pääseb kahel viisil. Esiteks, kui soovite kasutada mõnda konkreetset klassi pakendist, järgneb märksõnale “import” paketi nimi, millele järgneb punktioperaator ja klassi nimi, mida soovite paketist kasutada. Teiseks, kui soovite kasutada paljusid pakettides sisalduvaid klasse, järgneb impordi märksõnale pakendi nimi, millele järgneb punkt ja “*” operaator.

impordi paketi_nimi. klassi_nimi; või importige pakendi_nimi. *;

Ülaltoodud koodis näete märki *, mis näitab, et teine ​​meetod impordib kõik pakendites olevad klassid.

Vaatame nüüd paketi kasutamist näitega.

import Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // väljundmeetod displayMypackage paketi Mypackage klassi myclass.

Ülaltoodud koodi korral on klass TestMypackage importinud paketi Mypackage ja kasutanud oma meetodit displayMypackage ().

Liidese määratlus

Liides on omamoodi klass, kuid erineb selles mõttes, et liideses deklareeritud meetodid on abstraktsed, mis tähendab, et meetodid ainult deklareeritakse, kuid neid ei määratleta. Väljad liideses on alati avalikud, staatilised, lõplikud. Väljad tuleb deklareerimise ajal lähtestada. Liidese deklareeritud meetodid määratleb klass, mis vastavalt liidesele selle liidese juurutab. Kuna liidese meetodid ei täida ühtegi funktsiooni, pole liidese ühegi objekti loomisega mingit kasu. Seega ei saa liidese jaoks ühtegi objekti luua.

Liides võib pärida ka teist liidest, kuid sellise liidese päriv klass peab rakendama ka kõiki päritud liidese meetodeid. Kuna väljad lähtestatakse nende liideses deklareerimise ajal, seega pole liideses vaja konstruktorit, seega ei sisalda liides konstruktorit. Vaatame liidese loomise ja kasutamise näidet.

liidese piirkond {float pi = 3,14; float find_area (float a, float b) {} klass Circle rakendab ala {float find_area (float a, float b) {return (pi * a * a); } Klassikujundid {public static void main (string args) {Area A = new Area (); Ring C = uus ring (); A = C; ujuk F = pindala. leida ala (10,10); system.out.ln ("Ringi pindala on:" + F); }

Ülalolevas koodis olime loonud liideseala ja klass Circle on juurutanud liideseala. Väli „pi” on liideses selle deklareerimise ajal lähtestatud. Klassiring on määratlenud klassipinna abstraktse meetodi vastavalt oma nõudele.

  1. Pakett on klasside ja liideste rühm koos, samas kui liides on abstraktsete meetodite rühm.
  2. Pakett luuakse märksõna abil pakett arvestades, et liides luuakse märksõna abil liides.
  3. Kui tuleb kasutada paketti kuuluvat klassi või liidest, imporditakse pakett, kuni liides tuleb rakendada.

Järeldus:

Nii paketid kui ka liides on konteinerid. Pakett vähendab koodi suurust, kuna me lihtsalt impordime kasutatava klassi, selle asemel, et seda uuesti määratleda.Kui liides vähendab mitme pärimise ajal tekkinud segadusi, kuna mitme pärimise korral ei pea pärandiklass otsustama, millise meetodi määratlemiseks ta peaks pärima, selle asemel, et määratleda oma.