Vertailukaavio
Vertailun perusteet | paketit | rajapinnat |
---|---|---|
perustiedot | Paketit ovat ryhmä luokkia ja / tai rajapintoja yhdessä. | Liitännät ovat abstrakteja menetelmiä ja jatkuvia kenttiä. |
avainsana | Paketit luodaan paketin avainsanalla. | Käyttöliittymä luodaan käyttämällä "Interface" - avainsanaa. |
Syntaksi | paketin_nimi; julkisen luokan luokan_nimi { . (luokka) . } | käyttöliittymän_nimi { muuttuva ilmoitus; menetelmän ilmoitus; } |
Pääsy | Paketti voidaan tuoda | Liitäntä voidaan laajentaa toisella rajapinnalla ja toteuttaa luokassa. |
Käytä avainsanaa | Paketteja 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.
- Avaa tiedosto ja julista sitten paketin nimi tiedoston yläreunassa, kuten [paketti_nimi; ] paketin nimi on nimi, jonka haluat antaa paketille.
- Seuraavaksi määrität luokan, jonka haluat laittaa pakettiin, ja muista, että julistat sen julkiseksi.
- Tallenna tiedosto .java-tiedostona ja käännä sitten tiedosto, sitten ".class" on kyseiselle tiedostolle.
- 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.
- 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
- Paketti on ryhmä luokkia ja rajapintoja yhdessä, kun taas rajapinta on abstrakteja menetelmiä.
- Paketti luodaan käyttämällä avainsanapakettia , kun taas rajapinta luodaan avainsanaliitännän avulla .
- 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.