logo

Java-paket

  1. Java-paket
  2. Exempel på paket
  3. Åtkomstpaket
    1. Genom att importera paketnamn.*
    2. Genom att importera paketnamn.klassnamn
    3. Med fullt kvalificerat namn
  4. Underpaket
  5. Skickar klassfil till en annan katalog
  6. -klassvägsväxel
  7. 4 sätt att ladda klassfilen eller jar-filen
  8. Hur man lägger två offentliga klasser i ett paket
  9. Statisk import
  10. Paketklass

A java-paket är en grupp av liknande typer av klasser, gränssnitt och underpaket.

Paket i java kan kategoriseras i två former, inbyggt paket och användardefinierat paket.

Det finns många inbyggda paket som java, lang, awt, javax, swing, net, io, util, sql etc.

Här kommer vi att ha den detaljerade inlärningen av att skapa och använda användardefinierade paket.

konvertera sträng till enum

Fördelen med Java-paketet

1) Java-paketet används för att kategorisera klasserna och gränssnitten så att de enkelt kan underhållas.

2) Java-paketet ger åtkomstskydd.

3) Java-paketet tar bort namnkollision.


Enkelt exempel på java-paket

De paket nyckelord används för att skapa ett paket i java.

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

Hur man kompilerar java-paket

Om du inte använder någon IDE måste du följa syntax ges nedan:

 javac -d directory javafilename 

För exempel

 javac -d . Simple.java 

Switchen -d anger destinationen där den genererade klassfilen ska placeras. Du kan använda vilket katalognamn som helst som /home (vid Linux), d:/abc (vid Windows) etc. Om du vill behålla paketet i samma katalog kan du använda . (punkt).


Hur man kör Java-paketprogram

Du behöver använda fullt kvalificerat namn t.ex. mypack. Enkelt etc att köra klassen.


Att sammanställa: javac -d . Simple.java
Att springa: java mypack.Simple
 Output:Welcome to package 
-d är en switch som talar om för kompilatorn var klassfilen ska placeras, dvs den representerar destinationen. Den . representerar den aktuella mappen.

Hur får man åtkomst till paket från ett annat paket?

Det finns tre sätt att komma åt paketet från utsidan av paketet.

  1. importera paket.*;
  2. importera paket.klassnamn;
  3. fullt kvalificerat namn.

1) Använder paketnamn.*

Om du använder package.* kommer alla klasser och gränssnitt i detta paket att vara tillgängliga men inte underpaket.

Nyckelordet import används för att göra klasserna och gränssnittet för ett annat paket tillgängliga för det aktuella paketet.

Exempel på paket som importerar paketnamnet.*

 //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) Använd paketnamn.klassnamn

Om du importerar paket.klassnamn kommer endast den deklarerade klassen för detta paket att vara tillgänglig.

Exempel på paket av import paket.klassnamn

 //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) Använd ett fullständigt kvalificerat namn

Om du använder ett fullständigt kvalificerat namn kommer endast den deklarerade klassen av detta paket att vara tillgänglig. Nu finns det ingen anledning att importera. Men du måste använda ett fullständigt kvalificerat namn varje gång du använder klassen eller gränssnittet.

Det används vanligtvis när två paket har samma klassnamn, t.ex. paketen java.util och java.sql innehåller klassen Date.

Exempel på förpackning med ett fullständigt kvalificerat importnamn

 //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 

Obs: Om du importerar ett paket kommer underpaket inte att importeras.

Om du importerar ett paket kommer alla klasser och gränssnitt för det paketet att importeras exklusive underpaketens klasser och gränssnitt. Därför måste du också importera underpaketet.


Obs: Sekvensen av programmet måste vara paket och sedan importera sedan klass.


Underpaket i java

Paketet inuti paketet kallas underpaket . Det bör skapas för att kategorisera paketet ytterligare .

Låt oss ta ett exempel, Sun Microsystem har hittat ett paket som heter java som innehåller många klasser som System, String, Reader, Writer, Socket etc. Dessa klasser representerar en viss grupp t.ex. Läsar- och skrivarklasser är för Input/Output-drift, Socket- och ServerSocket-klasser är för nätverk etc och så vidare. Så, Sun har underkategoriserat java-paketet i underpaket som lang, net, io etc. och lagt de Input/Output-relaterade klasserna i io-paketet, Server- och ServerSocket-klasserna i net-paketen och så vidare.

Standarden för att definiera paket är domain.company.package t.ex. com.javatpoint.bean eller org.sssit.dao.

Exempel på underpaket

 package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } } 
Att sammanställa: javac -d . Simple.java
Att springa: java com.javatpoint.core.Simple
 Output:Hello subpackage 

Hur skickar man klassfilen till en annan katalog eller enhet?

Det finns ett scenario, jag vill lägga klassfilen för A.java-källfilen i classes-mappen på c: enhet. Till exempel:

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

Att sammanställa:

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

Att springa:

För att köra det här programmet från katalogen e:source måste du ange klasssökväg för katalogen där klassfilen finns.
e:sources> set classpath=c:classes;.;
e:sources> java mypack.Simple

Ett annat sätt att köra det här programmet med -classpath switch i java:

Växeln -classpath kan användas med javac och java-verktyget.

För att köra det här programmet från katalogen e:source kan du använda -classpath-växeln i java som talar om var du ska leta efter klassfil. Till exempel:

ms word snabbåtkomstverktygsfält

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

 Output:Welcome to package 

Sätt att ladda klassfilerna eller jarfilerna

Det finns två sätt att ladda klassfilerna tillfälligt och permanent.
  • Temporär
    • Genom att ställa in klasssökvägen i kommandotolken
    • By -classpath switch
  • Permanent
    • Genom att ställa in klassvägen i miljövariablerna
    • Genom att skapa jar-filen, som innehåller alla klassfiler, och kopiera jar-filen i mappen jre/lib/ext.

Regel: Det kan bara finnas en offentlig klass i en java-källfil och den måste sparas med det offentliga klassnamnet.

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

Hur lägger man två offentliga klasser i ett paket?

Om du vill lägga två publika klasser i ett paket, ha två java-källfiler som innehåller en offentlig klass, men behåll paketnamnet detsamma. Till exempel:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

Vad är statisk importfunktion i Java5?

Klicka på funktionen Statisk import i Java5.

Hur är det med paketklass?

Klicka för Paketklass