Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

„Java“ paketų ir sąsajų skirtumas

Paketai ir sąsajos veikia kaip konteineris. Klasių turinys paketuose ir sąsajose gali būti naudojamas importuojant ir įgyvendinant jį atitinkamai. Pagrindinis paketų ir sąsajų skirtumas yra tas, kad pakete yra klasių ir sąsajų grupė, o sąsajoje yra metodų ir laukų. Išnagrinėti kai kuriuos kitus skirtumus palyginimo lentelės pagalba.

Palyginimo diagrama

Palyginimo pagrindasPaketaiSąsajos
PagrindinisPaketai yra klasių ir (arba) sąsajų grupė.Sąsajos yra abstrakčių metodų ir nuolatinių laukų grupė.
Raktinis žodisPaketai sukurti naudojant „Paketo“ raktinį žodį.Sąsaja sukuriama naudojant raktinį žodį „Sąsaja“.
Sintaksėpaketo paketo_pavadinimas;
viešosios klasės klasės pavadinimas {
.
(klasė)
.
}
sąsajos sąsajos_ vardas {
kintamoji deklaracija;
metodo deklaracija;
}
PrieigaPaketą galima importuotiSąsaja gali būti išplėsta kita sąsaja ir ją įgyvendina klasė.
Pasiekite raktinį žodįPaketai gali būti importuojami naudojant raktinį žodį „importuoti“.Sąsajas galima įdiegti naudojant raktažodį.

Pakuočių apibrėžimas

Paketai yra rinkiniai arba grupių, kuriose yra įvairių klasių ir sąsajų, grupės. Klasių paketai yra tarpusavyje susiję tam tikru mastu ar paveldėjimu. Taip pat galite sukurti paketą ir naudoti jį savo programai.

Paketo sukūrimas

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

  1. Atidarykite failą ir tada paskelbite paketo pavadinimą failo viršuje, pavyzdžiui, [paketo paketo_pavadinimas; ] paketo pavadinimas yra pavadinimas, kurį norite suteikti paketui.
  2. Toliau nustatykite klasę, kurią norite įdėti į paketą, ir nepamirškite, kad paskelbiate ją viešai.
  3. Įrašykite failą kaip .java failą ir tada kompiliuokite failą, tada „.class“ yra gautas tam failui.
  4. Norėdami sukurti šio failo paketą, naudojama komanda yra „javac-d. file_name.java. Galite matyti, kad paketas sukurtas, kuriame yra „.class“ failas dabartiniame kataloge. Norėdami įdėti jį į pagrindinio katalogo naudojimą „javac -d. . file_name.java “komanda.
  5. Taip pat galite sukurti paketą, deklaruodami pakuotės pavadinimą kaip [paketo paketo_pavadinimą1. paketo_pavadinimas2; ] failo viršuje.
 paketas „Mypackage“; public class myclass {public void displayMypackage () {system.out.println („Mypackage paketo klasės klasės„ Mypackage “paketas); } 

Naudojant paketą

Kataloge sukurti arba prieinami paketai programoje gali būti naudojami naudojant importo ataskaitą. Raktinis žodis, naudojamas bet kuriam paketui importuoti, yra „importas“. Importo pareiškimas gali būti parašytas dviem būdais, arba galite pasakyti, kad yra du būdai pasiekti bet kurį paketą. Pirma, jei norite naudoti tam tikrą klasę iš paketo, „importuoti“ raktinį žodį seka paketo pavadinimas, po kurio seka taškų operatorius ir klasės pavadinimas, kurį norite naudoti iš paketo. Antra, jei norite naudoti daugybę paketų klasių, tuomet importuojamam raktiniam žodžiui seka paketo pavadinimas, po kurio seka taškas ir „*“ operatorius.

 importuoti paketo_pavadinimą. klasės pavadinimas; arba importuoti paketo_pavadinimą. *; 

Anksčiau pateiktame kode galite matyti * ženklą, kuris nurodo, kad antrasis metodas importuoja visas pakuotėse esančias klases.

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

 importuoti „Mypackage“. myclass {class TestMypackage {public static void main (string args []) {myclass ob1 = naujas myclass (); ob1.displayMypackage (); }} // išvesties metodas displayMypackage paketo Mypackage klasės klasė. 

Anksčiau pateiktame kode „TestMypackage“ klasė importavo „Mypackage“ paketą ir naudojo „displayMypackage“ () metodą.

Sąsajos apibrėžtis

Sąsaja yra tam tikros klasės klasė, tačiau skiriasi tuo, kad sąsajoje deklaruoti metodai yra abstrakčiai, o tai reiškia, kad metodai yra deklaruojami, bet nėra apibrėžti. Sąsajos laukai visada yra vieši, statiniai, galutiniai. Laukai turi būti inicijuoti deklaracijos pateikimo metu. Sąsajoje deklaruoti metodai yra apibrėžiami pagal tą reikalavimus atitinkančią klasę. Kadangi sąsajos metodai neatlieka jokios funkcijos, todėl nėra jokio sąsajos objekto kūrimo. Todėl sąsajai negalima sukurti jokio objekto.

Sąsaja taip pat gali paveldėti kitą sąsają, tačiau tokia sąsaja paveldėjusi klasė taip pat turi įgyvendinti visus paveldėto sąsajos metodus. Kadangi laukai yra inicijuojami jų deklaravimo metu sąsajoje, todėl sąsajoje nėra reikalo konstruktoriaus, todėl sąsajoje nėra jokio konstruktoriaus. Pamatysime sąsajos kūrimo ir naudojimo pavyzdį.

 sąsajos sritis {plūdė pi = 3, 14; float find_area (float a, float b) {} klasės Circle įgyvendina sritį {float find_area (float a, float b) {return (pi * a * a); } Klasės formos {viešas statinis void pagrindinis (eilutė args []) {sritis A = naujas plotas (); C ratas = naujas ratas (); A = C; plūdė F = plotas. find_area (10, 10); system.out.println („Apskritimo sritis yra: + F); } 

Anksčiau pateiktame kode sukūrėme sąsajos sritį, o klasės ratas įdiegė sąsajos sritį. Laukas „pi“ inicijuotas sąsajoje deklaracijos pateikimo metu. Klasės ratas apibrėžė abstrakčią klasės srities metodą pagal jos reikalavimą.

Pagrindiniai skirtumai tarp „Java“ paketų ir sąsajų

  1. Paketas yra klasių ir sąsajų grupė, o sąsaja yra abstrakčių metodų grupė.
  2. Paketas sukuriamas naudojant raktinių žodžių paketą, o sąsaja sukuriama naudojant raktinių žodžių sąsają .
  3. Jei pakete esanti klasė ar sąsaja turi būti naudojama, paketas turi būti importuojamas, kai turi būti įdiegta sąsaja.

Išvada:

Pakuotės ir sąsaja yra konteineriai. Paketas sumažina kodo dydį, nes mes tiesiog importuojame klasę, kuri bus naudojama, o ne vėl ją apibrėžti. Kadangi sąsaja sumažina painiavą, atsiradusią, kai paveldėjimai buvo atliekami daug kartų, nes paveldėjimo klasė neturėtų nuspręsti, kokio metodo apibrėžimas turėtų būti paveldėtas, o jis apibrėžia savo pačių paveldėjimą.

Top