Paketid Java-s: kuidas Java-pakette luua ja kasutada?



See java pakettide postitus aitab teil mõista, millised paketid on, kuidas neid Java-s luua ja kasutada, et olla tõhus Java-programmeerija.

Üks uuenduslikumaid on pakettide mõiste.Java-paketid on viis klasside, liideste, loendite, märkuste ja alampakettide rühma kapseldamiseks. Kontseptuaalselt võite arvata, et Java-paketid sarnanevad teie arvuti erinevate kaustadega. Selles õpetuses käsitleme pakettide põhitõdesid

Allpool on loetletud selles artiklis käsitletud teemad:





Mis on Java-pakett?

Java pakett on sarnast tüüpi klasside, liideste ja alamklasside grupeerimise mehhanism, mis põhineb funktsionaalsusel. Kui tarkvara on kirjutatud , see võib koosneda sadadest või isegi tuhandetest üksikutest klassidest. Minat on mõttekas asju korraldada, paigutades seotud klassid ja liidesed pakettidesse.

Pakettide kasutamine kodeerimise ajal pakub palju eeliseid, näiteks:



    • Korduvkasutus: Teise programmi pakettides sisalduvaid klasse saab hõlpsasti taaskasutada
    • Nimekonfliktid: Paketidaidake meil näiteks klassi ainulaadselt tuvastada firma.müük.Töötaja ja ettevõte.turundus.Töötaja klassides
    • Kontrollitud juurdepääs: Pakkumised juurdepääsukaitse näiteks lkpööratud klassid, vaikeklassid ja eraklass
    • Andmete kapseldamine : Nad lkpakuvad viisi klasside peitmiseks, takistades teistel programmidel juurdepääsu ainult sisekasutuseks mõeldud klassidele
    • Hooldus: Pakettidega,saate oma projekti paremini korraldada ja hõlpsalt leida seotud klassid

Pakettide kasutamine Java-koodis on hea tava. Programmeerijana saatelihtsalt aru saada , liidesed, loendused ja seotud märkused. Meil on javas kahte tüüpi pakette.

Pakettide tüübid Java-s

Selle järgi, kas paketi määrab kasutaja või mitte, jagatakse paketid kahte kategooriasse:

  1. Sisseehitatud paketid
  2. Kasutaja määratud paketid

Sisseehitatud paketid

Sisseehitatud paketid või eelmääratletud paketid on need, mis kaasnevad osana (Java Development Kit) Java programmeerija ülesande lihtsustamiseks. Need koosnevad suurest arvust eelnevalt määratletud klassidest ja liidestest, mis on osa Java API-dest. Mõned tavaliselt kasutatavad sisseehitatud paketid on java.lang, java.io, java.util, java.applet jne. Siin on lihtne programm, mis kasutab sisseehitatud paketti.



pakett Edureka import java.util.ArrayList klass BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) Süsteem. out.println ('Loendi elemendid on:' + myList)}}

Väljund:

Loendi elemendid on: [3, 2, 1]

ArrayList klass kuulub paketti java.util. Selle kasutamiseks peame pakendi importima impordilause abil. Koodi esimene rida import java.util.ArrayList impordib paketi java.util ja kasutab mis on alampaketis util.

Kasutaja määratud paketid

Kasutaja määratletud paketid on kasutajad välja töötanud seotud klasside, liideste ja alampakettide rühmitamiseks. Näitame näidisprogrammi abil, kuidas luua pakette, kompileerida Java-programme pakettide sisse ja neid käivitada.

Paketi loomine Java-s

Paketi loomine Java-s on väga lihtne ülesanne. Valige pakendile nimi ja lisage a pakend käsk esimese avaldusena Java lähtefailis. Java-lähtefail võib sisaldada klasse, liideseid, loendeid ja märkuste tüüpe, mille soovite paketti lisada.Näiteks loob järgmine lause paketi nimega MyPackage.

pakett MyPackage

Paketi lause määrab lihtsalt, millisesse paketti kuuluvad määratletud klassid.

Märge: Kui jätate väljavõtte paketi, pannakse klasside nimed vaikepaketti, millel pole nime. Kuigi vaikepakett sobib lühikeste programmide jaoks, on see tegelike rakenduste jaoks ebapiisav.

Sealhulgas klass Java-paketis

Tolooge paketi sees klass, peaksite seda tegemakuulutage paketi nimi oma programmi esimeseks avalduseks. Seejärel lisage klass paketi osana. Kuid pidage meeles, et klassil võib olla ainult üks pakendi deklaratsioon. Mõiste mõistmiseks on siin lihtne programm.

pakett MyPackage public class Võrdle {int num1, num2 Võrdle (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('Kahe maksimaalne väärtus numbrid on '+ num1)} else {System.out.println (' Kahe numbri maksimaalne väärtus on '+ num2)}} public static void main (String args []) {Võrdle praegust [] = uus Võrdle [3] praegust [1] = uus võrdlus (5, 10) praegune [2] = uus võrdlus (123, 120) jaoks (int i = 1 i<3 i++) { current[i].getmax() } } } 

Väljund:

Kahe numbri maksimaalne väärtus on 10 Kahe numbri maksimaalne väärtus on 123

Nagu näete, olen deklareerinud paketi nimega MyPackage ja loonud selle paketi sisse klassi Võrdle. Java kasutab pakettide salvestamiseks failisüsteemi katalooge. Niisiis, see programm salvestatakse faili kujul Võrdle.java ja salvestatakse kataloogi nimega MyPackage. Kui fail kompileeritakse, loob Java a .klass fail ja salvestage see samasse kataloogi. Pidage meeles, et paketi nimi peab olema sama mis kataloog, kuhu see fail on salvestatud.

cassandra veergude perekond vs laud

Teil võib tekkida küsimus, kuidas seda võrdlusklassi teises pakendis olevast klassist kasutada?

Paketi sisemise klassi loomine teise paketi importimise ajal

Noh, see on üsna lihtne. Peate selle lihtsalt importima. Kui see on imporditud, saate sellele juurdepääsu oma nime järgi. Siin on kontseptsiooni demonstreeriv näidisprogramm.

pakett Edureka import MyPackage. Võrdle avaliku klassi demo {public static void main (String args []) {int n = 10, m = 10 Võrdle praegust = uut Võrdle (n, m) kui (n! = m) {current.getmax ()} else {System.out.println ('Mõlemad väärtused on samad')}}}

Väljund:

Mõlemad väärtused on samad

Esmalt olen paki deklareerinud Edureka , seejärel importis klassi Võrdlema paketist MyPackage. Niisiis, tellimuskui loome paketi sees klassi, samal ajal kui impordime teist paketti,

  • Pakendi deklaratsioon
  • Paketi import

Noh, kui te ei soovi kasutada impordilauset, on paketi klassifailile juurde pääsemiseks mõni teine ​​võimalus. A importimisel saate lihtsalt kasutada täielikult kvalifitseeritud nime .

Täielikult kvalifitseeritud nime kasutamine klassi importimisel

Siin on näide kontseptsiooni mõistmiseks. Ma hakkan kasutama sama paketti, mille olen varem blogis deklareerinud, MyPackage .

pakett Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // MyPackage'i impordi asemel kasutatakse täielikult kvalifitseeritud nime. Võrdle current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('Mõlemad väärtused on samad')}}}

Väljund:

Kahe numbri maksimaalne väärtus on 11

Klassis Demo olen paketi importimise asemel kasutanud täielikult kvalifitseeritud nime nagu MyPackage. Võrdle selle objekti loomiseks. Kuna räägime pakettide importimisest, võiksite ka Java staatilise impordi kontseptsiooni vaadata.

Staatiline import Java-s

Staatiline impordi funktsioon võeti kasutusele aastal alates versioonist 5. See hõlbustab Java-programmeerija juurdepääsu mis tahes staatiliseleklassi liige, ilma et kasutataks täielikult kvalifitseeritud nime.

pakett MyPackage import staatiline java.lang.Math. * // staatiline import import staatiline java.lang.System. * // staatiline import avalik klass StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // Juurdepääs meetodile sqrt () otse out.println ('' + val + 'ruutjuur on' + sqroot) // Me ei pea kasutama 'System.out}}
 Väljund: 
Ruut 64.0 juur on 8.0

Ehkki staatilise impordi kasutamine hõlmab vähem kodeerimist, võib selle liigne kasutamine muuta programmi loetamatuks ja hooldamatuks. Nüüd liigume järgmise teema juurde, juurdepääsukontroll pakettides.

Juurdepääsukaitse Java-pakettides

Võimalik, et olete teadlik Java juurdepääsu kontrollimehhanismi ja selle eri aspektidest juurdepääsu täpsustajad . Java-paketid lisavad juurdepääsu kontrollile veel ühe mõõtme. Nii klassid kui ka paketid on vahend andmete kapseldamine . Kui paketid toimivad klasside ja muude alluvate pakettide konteineritena, siis klassid toimivad andmete ja koodi konteineritena. Selle pakettide ja klasside omavahelise koosmõju tõttu tegelevad Java paketid klassi liikmete nelja nähtavuse kategooriaga:

  • Alamklassid samas paketis
  • Mitteklassid samas pakendis
  • Alamklassid erinevates pakettides
  • Klassid, mis ei kuulu samasse paketti ega alamklassidesse

Alltoodud tabel annab ategelik pilt, millist tüüpi juurdepääs on võimalik ja milline mitte Java pakettide kasutamisel:

Privaatne Muudatust pole Kaitstud Avalik

Sama klass

Jah

Jah

Jah

Jah

Sama pakendi alamklassid

Ei

Jah

Jah

Jah

Sama pakendi alamklassid

Ei

Jah

Jah

Jah

Erinevad pakettide alaklassid

Ei

Ei

Jah

Jah

Erinevad paketid, alamklassid

Ei

Ei

Ei

Jah

Saame ülaltoodud tabelis olevaid andmeid lihtsustada järgmiselt:

  1. Kõigile avalikuks kuulutatud asjadele pääseb juurde igal pool
  2. Kõiki privaatseks kuulutatud asju saab näha ainult selles klassis
  3. Kui juurdepääsu täpsustajat ei mainita, on element nähtav nii alaklassidele kui ka teistele sama paketi klassidele
  4. Lõpuks võib kõiki deklareeritud kaitstud elemente näha väljaspool teie praegust paketti, kuid ainult klassidele, mis teie klassi otse alaklassi kuuluvad

Nii võimaldavad Java-paketid klassidele juurdepääsu kontrolli. Noh, see haarab Java pakettide kontseptsiooni. Siin on mõned punktid, mida peaksite pakettide kasutamisel meeles pidama .

Mäletatavad punktid

  • Iga klass on osa mingist paketist. Kui jätate väljavõtte paketi, pannakse klasside nimed vaikepaketti
  • Klassil võib olla ainult üks paketiväljavõte, kuid sellel võib olla mitu impordipaketi lauset
  • Paketi nimi peab olema sama mis kataloog, kuhu fail on salvestatud
  • Teise pakendi importimisel peab pakendi deklaratsioon olema esimene lause, millele järgneb pakendi import

Noh, see viib meid selle artikli „Java paketid” lõppu. Me õppisimemis on pakett ja miks peaksime neid kasutama. Pole kahtlust, et Java-pakett on tõhusate Java-programmeerijate jaoks üks olulisemaid osi. See mitte ainult ei uuenda programmeerija kodeerimisstiili, vaid vähendab ka palju lisatööd.

Kui leiate selle artikli jaotisest „Paketid Java-s”, vaadake järgmist autor Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik koosneb enam kui 250 000 rahulolevast õppijast ja mis levib üle kogu maailma. Oleme siin, et aidata teil igal sammul teie teekonnal, et saada lisaks sellele Java-intervjuu küsimustele välja, pakume välja õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java-arendajad.