Ü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?
- Sisseehitatud paketid
- Kasutaja määratud paketid
- Staatiline import Java-s
- Juurdepääsukaitse Java-pakettides
- Mäletatavad punktid
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:
- Sisseehitatud paketid
- 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:
- Kõigile avalikuks kuulutatud asjadele pääseb juurde igal pool
- Kõiki privaatseks kuulutatud asju saab näha ainult selles klassis
- Kui juurdepääsu täpsustajat ei mainita, on element nähtav nii alaklassidele kui ka teistele sama paketi klassidele
- 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.