Soovitatav, 2021

Toimetaja Valik

Pakettide ja liideste erinevus Java-is

Pakendid ja liidesed toimivad konteinerina. Klassides saab pakettide ja liideste sisu vastavalt importida ja rakendada. Pakettide ja liideste peamine erinevus on see, et pakett sisaldab rühma klassid ja liidesed, samas kui liides sisaldab meetodeid ja väljad. Uurime mõningaid muid erinevusi võrdluskaardi abil.

Võrdluskaart

Võrdluse alusPaketidLiidesed
PõhilinePaketid on klasside ja / või liideste rühm koos.Liidesed on abstraktsete meetodite ja pidevate väljade rühm.
MärksõnaPaketid luuakse märksõna paketi abil.Liides on loodud märksõna "Interface" abil.
Süntaksipaketi_nimi;
avaliku klassi_nimi_nimi {
.
(klassiklass)
.
}
liidese liides_nimi {
muutuvdeklaratsioon;
meetodi deklaratsioon;
}
JuurdepääsPaketti saab importidaLiidese saab laiendada teise liidese abil ja seda saab rakendada klassis.
Juurdepääs märksõnalePakette saab importida märksõna "import" abil.Liideseid saab rakendada märksõna abil.

Pakendite määratlus

Paketid on kollektsioonid või klasside ja liideste rühmad. Pakettide klassid on omavahel seotud mõnes ulatuses või pärimise teel. Samuti saate luua oma paketi ja kasutada seda oma programmi jaoks.

Paketi loomine

Paketi loomiseks järgige alltoodud samme.

  1. Avage fail ja seejärel deklareerige paketi nimi faili ülaosas, näiteks [pakettpaketi_nimi; ] paketi nimi on paketi nimi.
  2. Seejärel saate määratleda klassi, mida soovite paketti panna, ja pidage meeles, et kuulutate selle avalikult.
  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. file_name.java. Näete, et pakett on loodud sellises kataloogis .class. Selle asetamiseks vanemate kataloogide kasutamisse “javac -d. . file_name.java ”käsk.
  5. Võite luua ka alampaketi, deklareerides alampaketi nime [pakettpaketi_nimi1. pakett_nimi2; ] faili ülaosas.
 pakett Mypackage; public class myclass {public void displayMypackage () {system.out.println ("paketi Mypackage klassi klassi mükipakett"); } 

Paketi kasutamine

Kataloogis loodud või kättesaadavaid pakette saab programmis kasutada imporditeatise abil. Iga programmi paketi importimiseks kasutatav märksõna on „import“. Impordi avaldust saab kirjutada kahel viisil või võite öelda, et ükskõik millisele paketile on kaks võimalust. Esiteks, kui soovid paketist teatud klassi kasutada, järgneb märksõnale “import” paketi nimi, millele järgneb punktoperaator ja klassi nimi, mida soovite paketist kasutada. Teiseks, kui soovite kasutada palju pakette sisaldavaid klasse, järgneb impordi märksõnale paketi nimi, millele järgneb punkt ja „*” operaator.

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

Ülaltoodud koodis näete * tähist, mis näitab, et teine ​​meetod impordib kõik pakettides olevad klassid.

Vaatame nüüd paketi kasutamist näitena.

 importige Mypackage'i. myclass {class TestMypackage {public static void main (string args []) {myclass ob1 = uus myclass (); ob1.displayMypackage (); }} // paketi Mypackage klassi myclass väljundmeetod. 

Ülaltoodud koodis on TestMypackage klass importinud paketi Mypackage ja kasutanud selle meetodit.

Liidese määratlus

Liides on omamoodi klass, kuid erineb selles mõttes, et liideses deklareeritud meetodid on abstraktsed, mis tähendab, et meetodid on deklareeritud, kuid mitte määratletud. Liidese väljad on alati avalikud, staatilised, lõplikud. Väljad tuleb vormindada deklaratsiooni esitamise ajal. Liidese poolt deklareeritud meetodid määratleb klass, mis rakendab seda liidest vastavalt selle nõudele. Kuna liidese meetodid ei täida ühtegi funktsiooni, siis ei ole mingit võimalust liidese mistahes objekti loomiseks. Seega ei saa liidese jaoks luua ühtegi objekti.

Liides võib pärida ka teise liidese, kuid sellist liidest pärandav klass peab rakendama ka kõik päriliku liidese meetodid. Kuna väljad alustatakse nende liideses deklaratsiooni esitamise ajal, ei ole liideses konstruktorit vaja, seega ei sisalda liides konstruktorit. Vaatame liidese loomise ja kasutamise näidet.

 liidese ala {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); } Klassivormid {avalik static void main (string args []) {Area A = uus ala (); Ring C = uus ring (); A = C; float F = pindala. find_area (10, 10); system.out.println ("Ringi piirkond on: + F); } 

Ülaltoodud koodis oleme loonud liidese ala ja klassi ring on rakendanud liidese ala. Väli "pi" on deklaratsiooni esitamise ajal liideses vormindatud. Klassi ring on defineerinud klassi piirkonna abstraktse meetodi vastavalt oma nõudele.

Peamised erinevused pakettide ja liideste vahel Java

  1. Pakett on klasside ja liideste rühm koos, samas kui liides on abstraktsete meetodite rühm.
  2. Pakett on loodud märksõna paketi abil, samas kui liides luuakse märksõna liidese abil .
  3. Kui kasutatakse paketi sees olevat klassi või liidest, siis tuleb importida pakett, mida tuleb importida liidese rakendamise ajal.

Järeldus:

Pakendid ja liides on konteinerid. Pakett vähendab koodi suurust, kuna me lihtsalt impordime kasutatava klassi uuesti selle asemel, et seda uuesti määratleda. Kuna liides vähendab segadusi, mis tekkisid mitme pärimise ajal, sest mitme pärandi puhul ei pea pärandklass otsustama, millise meetodi määratlus peaks selle asemel pärima, vaid määratleb selle enda.

Top