logo

Java-pakke

  1. Java-pakke
  2. Eksempel på pakke
  3. Adgang til pakke
    1. Ved import af pakkenavn.*
    2. Ved at importere pakkenavn.klassenavn
    3. Med fuldt kvalificeret navn
  4. Underpakke
  5. Sender klassefil til en anden mappe
  6. -klassesti-omskifter
  7. 4 måder at indlæse klassefilen eller jar-filen på
  8. Sådan lægger du to offentlige klasser i en pakke
  9. Statisk import
  10. Pakke klasse

EN java-pakke er en gruppe af lignende typer klasser, grænseflader og underpakker.

Pakke i java kan kategoriseres i to former, indbygget pakke og brugerdefineret pakke.

Der er mange indbyggede pakker såsom java, lang, awt, javax, swing, net, io, util, sql osv.

Her vil vi have den detaljerede læring i at oprette og bruge brugerdefinerede pakker.

deaktivering af udviklertilstand for Android

Fordel ved Java-pakken

1) Java-pakken bruges til at kategorisere klasser og grænseflader, så de nemt kan vedligeholdes.

2) Java-pakken giver adgangsbeskyttelse.

3) Java-pakken fjerner navnekollision.


Simpelt eksempel på java-pakke

Det pakke søgeord bruges til at oprette 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'); } } 

Sådan kompileres java-pakken

Hvis du ikke bruger nogen IDE, skal du følge syntaks Givet nedenfor:

 javac -d directory javafilename 

Til eksempel

 javac -d . Simple.java 

Switchen -d angiver destinationen, hvor den genererede klassefil skal placeres. Du kan bruge et hvilket som helst mappenavn som /home (i tilfælde af Linux), d:/abc (i tilfælde af Windows) osv. Hvis du vil beholde pakken i samme mappe, kan du bruge . (prik).


Sådan kører du java-pakkeprogram

Du skal bruge fuldt kvalificeret navn f.eks. mypack.Simpelt osv. at køre klassen.


At kompilere: javac -d . Simple.java
At løbe: java mypack.Simpel
 Output:Welcome to package 
-d er en switch, der fortæller compileren, hvor klassefilen skal placeres, dvs. den repræsenterer destinationen. Det . repræsenterer den aktuelle mappe.

Hvordan får man adgang til pakken fra en anden pakke?

Der er tre måder at få adgang til pakken uden for pakken.

  1. importpakke.*;
  2. import pakke.klassenavn;
  3. fuldt kvalificeret navn.

1) Bruger pakkenavn.*

Hvis du bruger package.*, vil alle klasser og grænseflader i denne pakke være tilgængelige, men ikke underpakker.

Importnøgleordet bruges til at gøre klasserne og grænsefladen for en anden pakke tilgængelige for den aktuelle pakke.

Eksempel på pakke, der 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) Brug af pakkenavn.klassenavn

Hvis du importerer pakke.klassenavn, vil kun den erklærede klasse af denne pakke være tilgængelig.

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) Brug af fuldt kvalificeret navn

Hvis du bruger et fuldt kvalificeret navn, vil kun den erklærede klasse af denne pakke være tilgængelig. Nu er der ingen grund til at importere. Men du skal bruge et fuldt kvalificeret navn, hver gang du får adgang til klassen eller grænsefladen.

Det bruges generelt, når to pakker har samme klassenavn, f.eks. java.util og java.sql pakker indeholder Dato klasse.

Eksempel på pakke ved import fuldt kvalificeret 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 

Bemærk: Hvis du importerer en pakke, importeres underpakker ikke.

Hvis du importerer en pakke, importeres alle klasserne og grænsefladen for den pakke, undtagen klasserne og grænsefladerne for underpakkerne. Derfor skal du også importere underpakken.


Bemærk: Sekvensen af ​​programmet skal være pakke og derefter importere derefter klasse.


Underpakke i java

Pakken inde i pakken kaldes underpakke . Det bør skabes at kategorisere pakken yderligere .

Lad os tage et eksempel, Sun Microsystem har fundet en pakke ved navn java, der indeholder mange klasser som System, String, Reader, Writer, Socket osv. Disse klasser repræsenterer en bestemt gruppe, f.eks. Læser- og Writer-klasser er til input/output-drift, Socket- og ServerSocket-klasser er til netværk osv. og så videre. Så Sun har underkategoriseret java-pakken i underpakker såsom lang, net, io osv. og lagt de Input/Output-relaterede klasser i io-pakken, Server- og ServerSocket-klasser i net-pakker og så videre.

Standarden for at definere pakke er domain.company.package 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'); } } 
At kompilere: javac -d . Simple.java
At løbe: java com.javatpoint.core.Simple
 Output:Hello subpackage 

Hvordan sender man klassefilen til en anden mappe eller et andet drev?

Der er et scenarie, jeg vil lægge klassefilen til A.java-kildefilen i klassemappen på c: drev. For eksempel:

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

At kompilere:

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

At løbe:

For at køre dette program fra biblioteket e:source, skal du indstille klassestien til det bibliotek, hvor klassefilen ligger.
e:sources> sæt klassesti=c:klasser;.;
e:sources> java mypack.Simple

En anden måde at køre dette program på med -classpath switch i java:

-classpath-switchen kan bruges med javac og java-værktøjet.

For at køre dette program fra mappen e:source, kan du bruge -classpath switch af java, der fortæller, hvor du skal lede efter klassefil. For eksempel:

intelligent idé vs formørkelse

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

 Output:Welcome to package 

Måder at indlæse klassefilerne eller jar-filerne på

Der er to måder at indlæse klassefilerne midlertidigt og permanent på.
  • Midlertidig
    • Ved at indstille klassestien i kommandoprompten
    • By-classpath switch
  • Permanent
    • Ved at indstille klassestien i miljøvariablerne
    • Ved at oprette jar-filen, der indeholder alle klassefilerne, og kopiere jar-filen i mappen jre/lib/ext.

Regel: Der kan kun være én offentlig klasse i en java-kildefil, og den skal gemmes med det offentlige klassenavn.

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

Hvordan lægger man to offentlige klasser i en pakke?

Hvis du vil lægge to offentlige klasser i en pakke, skal du have to java-kildefiler, der indeholder en offentlig klasse, men behold pakkenavnet det samme. For eksempel:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

Hvad er statisk importfunktion i Java5?

Klik på Statisk import-funktion i Java5.

Hvad med pakkeklassen?

Klik for Pakkeklasse