Suositeltava, 2024

Toimituksen Valinta

Pakkausten ja rajapintojen välinen ero Java: ssa

Paketit ja liitännät toimivat molemmissa säiliöissä. Luokat voivat käyttää pakettien ja rajapintojen sisältöä tuomalla ja toteuttamalla niitä vastaavasti. Perusero pakettien ja rajapintojen välillä on, että paketti sisältää joukon luokkia ja rajapintoja, kun taas liitäntä sisältää menetelmiä ja kenttiä. Tarkastellaan muita eroja vertailukaavion avulla.

Vertailukaavio

Vertailun perusteetpaketitrajapinnat
perustiedotPaketit ovat ryhmä luokkia ja / tai rajapintoja yhdessä.Liitännät ovat abstrakteja menetelmiä ja jatkuvia kenttiä.
avainsanaPaketit luodaan paketin avainsanalla.Käyttöliittymä luodaan käyttämällä "Interface" - avainsanaa.
Syntaksipaketin_nimi;
julkisen luokan luokan_nimi {
.
(luokka)
.
}
käyttöliittymän_nimi {
muuttuva ilmoitus;
menetelmän ilmoitus;
}
PääsyPaketti voidaan tuodaLiitäntä voidaan laajentaa toisella rajapinnalla ja toteuttaa luokassa.
Käytä avainsanaaPaketteja voidaan tuoda käyttämällä "tuontia" avainsanaa.Liitännät voidaan toteuttaa käyttämällä "työkalun" avainsanaa.

Pakettien määritelmä

Paketit ovat kokoelmia tai eri luokkien ja rajapintojen ryhmiä. Pakettien luokat liittyvät toisiinsa jonkin verran tai perintönä. Voit myös luoda paketin ja käyttää sitä ohjelmassa.

Paketin luominen

Paketin luomiseksi noudata seuraavia ohjeita.

  1. Avaa tiedosto ja julista sitten paketin nimi tiedoston yläreunassa, kuten [paketti_nimi; ] paketin nimi on nimi, jonka haluat antaa paketille.
  2. Seuraavaksi määrität luokan, jonka haluat laittaa pakettiin, ja muista, että julistat sen julkiseksi.
  3. Tallenna tiedosto .java-tiedostona ja käännä sitten tiedosto, sitten ".class" on kyseiselle tiedostolle.
  4. Luodaksesi paketin tähän tiedostoon käytetty komento on “javac -d. file_name.java. Näet, että paketti on luotu, jossa on nykyisessä hakemistossa oleva .class-tiedosto. Voit sijoittaa sen vanhempaan hakemistoon “javac -d. . file_name.java ”-komento.
  5. Voit myös luoda alipaketin ilmoittamalla alipaketin nimen [pakettipaketti_nimi1. package_name2; ] tiedoston yläosassa.
 paketti Mypackage; public class myclass {public void displayMypackage () {system.out.println ("paketti Mypackage -luokan myclass -merkki"); } 

Paketin käyttö

Hakemistossa luotuja tai käytettävissä olevia paketteja voidaan käyttää ohjelmassa käyttämällä tuontilausumaa. Avainsana, jota käytetään minkä tahansa paketin tuomiseksi ohjelmaan, on "tuonti". Tuonti-ilmoitus voidaan kirjoittaa kahdella tavalla, tai voit sanoa, että on kaksi tapaa käyttää mitä tahansa pakettia. Ensinnäkin, jos haluat käyttää tiettyä luokkaa paketista, "tuonti" - avainsanaa seuraa paketin nimi, jota seuraa pisteoperaattori ja luokan nimi, jota haluat käyttää paketista. Toiseksi, jos haluat käyttää useita paketteja sisältäviä luokkia, tuontia hakevan avainsanan jälkeen seuraa paketin nimi, jota seuraa piste ja operaattori * *.

 Tuo paketin_nimi. luokan nimi; tai tuo paketin_nimi. *; 

Yllä olevassa koodissa näkyy * merkki, joka osoittaa, että toinen menetelmä tuo kaikki pakettien sisältämät luokat.

Tarkastellaan nyt paketin käyttöä esimerkin avulla.

 Tuo Mypackage. myclass {class TestMypackage {public static void main (string args []) {myclass ob1 = uusi myclass (); ob1.displayMypackage (); }} // paketti Mypackage -luokan myclass -luokitusmoodipaketti. 

Yllä olevassa koodissa TestMypackage-luokka on tuonut paketin Mypackage ja käyttänyt sen näyttömoodipaketti () -menetelmää.

Liitännän määritelmä

Liitäntä on eräänlainen luokka, mutta eroaa siinä mielessä, että rajapinnassa ilmoitetut menetelmät ovat abstrakteja, mikä tarkoittaa, että menetelmät ilmoitetaan vain, mutta ei määritelty. Käyttöliittymän kentät ovat aina julkisia, staattisia, lopullisia. Kentät on alustettava ilmoituksen tekohetkellä. Liitännän ilmoittamat menetelmät määrittelee luokka, joka toteuttaa kyseisen rajapinnan sen vaatimuksen mukaisesti. Koska käyttöliittymän menetelmät eivät suorita mitään toimintoa, niin käyttöliittymän mitään objektia ei voida luoda. Näin ollen rajapintaan ei voi luoda mitään objektia.

Liitäntä voi myös periä toisen käyttöliittymän, mutta tällaisen käyttöliittymän perimisen on myös pantava täytäntöön kaikki perinnöllisen käyttöliittymän menetelmät. Koska kentät alustetaan niiden ilmoituksen yhteydessä käyttöliittymässä, joten käyttöliittymässä ei tarvita rakentajaa, joten käyttöliittymä ei sisällä mitään rakentajaa. Katsotaanpa esimerkkiä rajapinnan luomisesta ja käytöstä.

 rajapinta-ala {float pi = 3.14; float find_area (float a, float b) {} class Circle toteuttaa alue {float find_area (float a, float b) {return (pi * a * a); } Class Shapes {public static void main (string args []) {Area A = uusi alue (); Ympyrä C = uusi ympyrä (); A = C; float F = alue. find_area (10, 10); system.out.println ("Piirin alue on: + F); } 

Yllä olevassa koodissa olimme luoneet liitäntäalueen, ja luokan ympyrä on toteuttanut käyttöliittymän alueen. Kenttä "pi" on alustettu käyttöliittymässä ilmoituksen tekohetkellä. Luokan ympyrä on määritellyt luokan alueen abstraktin menetelmän sen vaatimuksen mukaan.

Tärkeimmät erot pakkausten ja liitäntöjen välillä Java: ssa

  1. Paketti on ryhmä luokkia ja rajapintoja yhdessä, kun taas rajapinta on abstrakteja menetelmiä.
  2. Paketti luodaan käyttämällä avainsanapakettia , kun taas rajapinta luodaan avainsanaliitännän avulla .
  3. Jos paketin sisällä olevaa luokkaa tai rajapintaa käytetään, paketti tulee tuoda, kun liitäntä on toteutettava.

johtopäätös:

Sekä pakkaukset että käyttöliittymä ovat kontteja. Paketti pienentää koodin kokoa, kun tuomme juuri käytettävän luokan uudelleen sen määrittelemiseksi. Vaikka rajapinta vähentää sekaannuksia, jotka tapahtuivat usean perintön aikana, koska perintöosien tapauksessa perinnöllinen luokka ei saa päättää, minkä menetelmän määritelmän sen pitäisi periä, vaan se määrittelee oman.

Top