logo

Java-pakke

  1. Java-pakke
  2. Eksempel på pakke
  3. Tilgang til pakke
    1. Ved import av pakkenavn.*
    2. Ved å importere pakkenavn.klassenavn
    3. Med fullt kvalifisert navn
  4. Underpakke
  5. Sender klassefil til en annen katalog
  6. -klassebanebryter
  7. 4 måter å laste klassefilen eller jar-filen på
  8. Hvordan legge to offentlige klasser i en pakke
  9. Statisk import
  10. Pakkeklasse

EN java-pakke er en gruppe av lignende typer klasser, grensesnitt og underpakker.

Pakke i java kan kategoriseres i to former, innebygd pakke og brukerdefinert pakke.

Det er mange innebygde pakker som java, lang, awt, javax, swing, net, io, util, sql etc.

Her vil vi ha detaljert læring om å lage og bruke brukerdefinerte pakker.

slå av utviklermodus for Android

Fordel med Java-pakken

1) Java-pakken brukes til å kategorisere klassene og grensesnittene slik at de enkelt kan vedlikeholdes.

2) Java-pakken gir tilgangsbeskyttelse.

3) Java-pakken fjerner navnekollisjon.


Enkelt eksempel på java-pakke

De pakke nøkkelord brukes til å lage en pakke i java.

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Hvordan kompilere java-pakken

Hvis du ikke bruker noen IDE, må du følge syntaks gitt nedenfor:

 javac -d directory javafilename 

Til eksempel

 javac -d . Simple.java 

-d-bryteren spesifiserer destinasjonen der den genererte klassefilen skal plasseres. Du kan bruke hvilket som helst katalognavn som /home (i tilfelle av Linux), d:/abc (i tilfelle av Windows) osv. Hvis du vil beholde pakken i samme katalog, kan du bruke . (punktum).


Hvordan kjøre java-pakkeprogram

Du må bruke fullt kvalifisert navn, f.eks. mypack.Enkelt osv å kjøre klassen.


Å kompilere: javac -d . Simple.java
Å løpe: java mypack.Simple
 Output:Welcome to package 
-d er en bryter som forteller kompilatoren hvor klassefilen skal plasseres, dvs. den representerer destinasjonen. Den . representerer gjeldende mappe.

Hvordan få tilgang til pakken fra en annen pakke?

Det er tre måter å få tilgang til pakken fra utsiden av pakken.

  1. importpakke.*;
  2. importer pakke.klassenavn;
  3. fullt kvalifisert navn.

1) Bruker pakkenavn.*

Hvis du bruker package.* vil alle klassene og grensesnittene til denne pakken være tilgjengelige, men ikke underpakker.

Importnøkkelordet brukes til å gjøre klassene og grensesnittet til en annen pakke tilgjengelig for gjeldende pakke.

Eksempel på pakke som importerer pakkenavnet.*

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

2) Bruk av pakkenavn.klassenavn

Hvis du importerer pakke.klassenavn, vil kun den deklarerte klassen av denne pakken være tilgjengelig.

Eksempel på pakke ved import pakke.klassenavn

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

3) Bruke fullt kvalifisert navn

Hvis du bruker et fullt kvalifisert navn, vil kun den deklarerte klassen av denne pakken være tilgjengelig. Nå er det ikke nødvendig å importere. Men du må bruke fullt kvalifisert navn hver gang du får tilgang til klassen eller grensesnittet.

Det brukes vanligvis når to pakker har samme klassenavn, f.eks. java.util og java.sql-pakkene inneholder Dato-klassen.

Eksempel på pakke ved import fullt kvalifisert navn

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } } 
 Output:Hello 

Merk: Hvis du importerer en pakke, vil ikke underpakker importeres.

Hvis du importerer en pakke, vil alle klassene og grensesnittet til den pakken bli importert unntatt klassene og grensesnittene til underpakkene. Derfor må du også importere underpakken.


Merk: Sekvensen til programmet må være pakke og deretter importere deretter klasse.


Underpakke i java

Pakken inne i pakken kalles underpakke . Det bør opprettes for å kategorisere pakken ytterligere .

La oss ta et eksempel, Sun Microsystem har definert en pakke som heter java som inneholder mange klasser som System, String, Reader, Writer, Socket etc. Disse klassene representerer en spesiell gruppe, f.eks. Leser- og Writer-klasser er for inngangs-/utgangsdrift, Socket- og ServerSocket-klasser er for nettverk osv. og så videre. Så, Sun har underkategorisert java-pakken i underpakker som lang, net, io etc. og lagt de Input/Output-relaterte klassene i io-pakken, Server og ServerSocket-klassene i nettpakker og så videre.

Standarden for å definere pakke er domene.bedrift.pakke f.eks. com.javatpoint.bean eller org.sssit.dao.

Eksempel på underpakke

 package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } } 
Å kompilere: javac -d . Simple.java
Å løpe: java com.javatpoint.core.Simple
 Output:Hello subpackage 

Hvordan sende klassefilen til en annen katalog eller stasjon?

Det er et scenario, jeg vil legge klassefilen til A.java-kildefilen i klassemappen til c: stasjonen. For eksempel:

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Å kompilere:

e:sources> javac -d c:classes Simple.java

Å løpe:

For å kjøre dette programmet fra e:source-katalogen, må du angi klassebanen til katalogen der klassefilen ligger.
e:sources> set classpath=c:classes;.;
e:sources> java mypack.Simple

En annen måte å kjøre dette programmet med -classpath-svitsj i java:

-classpath-bryteren kan brukes med javac og java-verktøyet.

For å kjøre dette programmet fra e:source-katalogen, kan du bruke -classpath-bryteren til java som forteller hvor du skal lete etter klassefilen. For eksempel:

java objektlikhet

e:sources> java -classpath c:classes mypack.Simple

 Output:Welcome to package 

Måter å laste klassefilene eller jar-filene på

Det er to måter å laste klassefilene midlertidig og permanent.
  • Midlertidig
    • Ved å sette klassebanen i ledeteksten
    • By-klassebanebryter
  • Fast
    • Ved å sette klassebanen i miljøvariablene
    • Ved å lage jar-filen, som inneholder alle klassefilene, og kopiere jar-filen i mappen jre/lib/ext.

Regel: Det kan bare være én offentlig klasse i en java-kildefil, og den må lagres med det offentlige klassenavnet.

 //save as C.java otherwise Compilte Time Error class A{} class B{} public class C{} 

Hvordan legge to offentlige klasser i en pakke?

Hvis du vil legge to offentlige klasser i en pakke, ha to java-kildefiler som inneholder én offentlig klasse, men hold pakkenavnet det samme. For eksempel:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

Hva er statisk importfunksjon i Java5?

Klikk på Static Import-funksjonen til Java5.

Hva med pakkeklassen?

Klikk for Pakkeklasse