Skirtumas tarp „Java“ paketų ir sąsajų

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 3 Liepos Mėn 2024
Anonim
7.9 Packages in Java Theory
Video.: 7.9 Packages in Java Theory

Turinys


Tiek paketai, tiek sąsajos veikia kaip konteineris. Paketų ir sąsajų turinį klasės gali naudoti atitinkamai importuodamos ir įgyvendindamos. Pagrindinis paketų ir sąsajų skirtumas yra tas, kad pakete yra klasių ir sąsajų grupė, tuo tarpu sąsajoje yra metodai ir laukai. Panagrinėkime palyginimo lentelės pagalba keletą kitų skirtumų.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasPakuotėsSąsajos
PagrindinisPaketai yra klasių ir (arba) sąsajų grupė kartu.Sąsajos yra abstrakčių metodų ir pastovių laukų grupė.
RaktažodžiaiPakuotės kuriamos naudojant raktinį žodį „Pakuotė“.Sąsaja kuriama naudojant raktinį žodį „Sąsaja“.
Sintaksėpaketo paketo_pavadinimas;
viešoji klasė_pavadinimas {
.
(klasės korpusas)
.
}
sąsajos sąsajos_pavadinimas {
kintama deklaracija;
metodo deklaravimas;
}
PrieigaPaketą galima importuoti Sąsaja gali būti išplėsta kita sąsaja ir įdiegta klasės.
Prieigos raktinis žodis Paketus galima importuoti naudojant raktinį žodį „importuoti“.Sąsajos gali būti įgyvendintos naudojant raktinį žodį „įgyvendinti“.


Pakuočių apibrėžimas

Pakuotės yra įvairių klasių ir sąsajų kolekcija arba grupės. Pakuočių klasės yra susijusios viena su kita tam tikra prasme arba paveldėjimo būdu. Taip pat galite sukurti savo paketą ir naudoti jį savo programai.

Sukurti paketą

Norėdami sukurti paketą, atlikite tik šiuos veiksmus.

  1. Atidarykite failą, tada failo viršuje nurodykite paketo pavadinimą, pavyzdžiui, paketo pavadinimas yra vardas, kurį norite suteikti paketui.
  2. Toliau jūs apibrėžiate klasę, kurią norite įtraukti į paketą, ir atsiminkite, kad skelbiate ją viešą.
  3. Įrašykite failą kaip .java failą ir tada sukompiliuokite failą, tada gaukite to failo „.class“.
  4. Norint sukurti šio failo paketą, naudojama komanda „javac -d“. failo vardas.java. Galite pamatyti, kad pakuotėje yra dabartiniame kataloge esantis „.class“ failas. Norėdami įdėti jį į pirminį katalogą, naudokite „javac -d“. . failas_pavadinimas.java “.
  5. Taip pat galite sukurti dalinę pakuotę, paskelbdami rinkinio pavadinimą kaip failo viršuje.

paketas „Mypackage“; public class myclass {public void displayMypackage () {system.out.ln ("method displayMypackage of class myclass of Mypackage paketas"); }

Pakuotės naudojimas


Kataloge sukurti ar turimi paketai gali būti naudojami programoje naudojant importavimo pareiškimą. Raktinis žodis, naudojamas bet kokiems jūsų programos paketams importuoti, yra „importas“. Importavimo pareiškimas gali būti parašytas dviem būdais arba galite pasakyti, kad yra du būdai, kaip pasiekti bet kurį paketą. Pirmiausia, jei norite naudoti tam tikrą klasę iš paketo, po „importo“ raktinio žodžio nurodomas paketo pavadinimas, po kurio eina taško operatorius ir klasės pavadinimas, kurį norite naudoti iš paketo. Antra, jei norite naudoti daugybę klasėse esančių paketų, tada po importavimo raktinio žodžio nurodomas paketo pavadinimas, po kurio eina taškas ir „*“ operatorius.

importuoti paketo_pavadinimas. klasės_pavadinimas; arba importuokite paketo_pavadinimas. *;

Aukščiau esančiame kode galite pamatyti ženklą *, kuris nurodo, kad antrasis metodas importuoja visas pakuotėse esančias klases.

Dabar pažiūrėkime apie paketo naudojimą su pavyzdžiu.

importuoti „Mypackage“. myclass {class TestMypackage {public static void main (eilutė eina) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // išvesties metodo rodymasMypackage klasės „Mypackage“ klasės klasė.

Aukščiau pateiktame kode TestMypackage klasė importavo paketą „Mypackage“ ir panaudojo jo metodą „displayMypackage ()“.

Sąsajos apibrėžimas

Sąsaja yra klasės rūšis, tačiau skiriasi tuo, kad sąsajoje deklaruojami metodai yra abstraktūs, tai reiškia, kad metodai yra tik deklaruojami, bet neapibrėžti. Laukai sąsajoje visada yra vieši, statiniai, galutiniai. Laukai turi būti inicializuoti deklaravimo metu. Sąsajos deklaruojami metodai yra apibrėžti klasės, kuri įgyvendina tą sąsają pagal savo reikalavimus. Kadangi sąsajos metodai neatlieka jokios funkcijos, todėl nėra reikalo kurti jokio sąsajos objekto. Taigi sąsajai negali būti sukurtas joks objektas.

Sąsaja taip pat gali paveldėti kitą sąsają, tačiau klasė, paveldinti tokią sąsają, taip pat turi įgyvendinti visus paveldėtos sąsajos metodus. Kadangi laukai yra inicijuojami jų deklaravimo sąsajoje metu, taigi sąsajoje nereikia konstruktoriaus, todėl sąsajoje nėra jokio konstruktoriaus. Pažiūrėkime sąsajos kūrimo ir naudojimo pavyzdį.

sąsajos plotas {float pi = 3.14; float find_area (plūdės a, plūdės b) {} klasės apskritimo padargai Plotas {plūdės rasti_area (plūdės a, plūdės b) {grįžti (pi * a * a); } Klasių formos {viešas statinis tuštumos pagrindinis ženklas (eilutės raidės) {sritis A = nauja sritis (); C ratas = naujas apskritimas (); A = C; plūduriuoti F = plotas. rasti_area (10,10); system.out.ln ("Apskritimo plotas yra:" + F); }

Aukščiau pateiktame kode sukūrėme sąsajos sritį, o klasė „Circle“ įdiegė sąsajos sritį. Laukas „pi“ buvo inicializuotas sąsajoje jo deklaravimo metu. Klasės ratas apibrėžė abstraktinį klasės ploto metodą pagal jo reikalavimą.

  1. Paketas yra klasių ir sąsajų grupė kartu, o sąsaja yra abstrakčių metodų grupė.
  2. Paketas yra sukurtas naudojant raktinį žodį pakuotė tuo tarpu sąsaja sukuriama naudojant raktinį žodį sąsaja.
  3. Jei reikia naudoti klasę ar sąsają paketo viduje, paketą reikia importuoti, kol turi būti įdiegta sąsaja.

Išvada:

Tiek paketai, tiek sąsaja yra konteineriai. Pakuotė sumažina kodo dydį, nes mes tiesiog importuojame klasę, kuri bus naudojama, o ne dar kartą ją apibrėžime.Tuo tarpu sąsaja sumažina painiavą, atsirandančią dėl kelių paveldėjimų, nes kelių paveldėjimų atveju paveldėjimo klasė neturi nuspręsti, kokį apibrėžimą, kurį metodą ji turėtų paveldėti, vietoj to, kad apibrėžtų savo.