- Paquet Java
- Exemple de paquet
- Accés al paquet
- Subpaquet
- S'està enviant un fitxer de classe a un altre directori
- -interruptor de classpath
- 4 maneres de carregar el fitxer de classe o el fitxer jar
- Com posar dues classes públiques en un paquet
- Importació estàtica
- Classe de paquet
A paquet java és un grup de tipus similars de classes, interfícies i subpaquets.
El paquet en Java es pot classificar en dues formes, paquet integrat i paquet definit per l'usuari.
Hi ha molts paquets integrats com java, lang, awt, javax, swing, net, io, util, sql, etc.
Aquí tindrem l'aprenentatge detallat de la creació i l'ús de paquets definits per l'usuari.
estricte a int
Avantatge del paquet Java
1) El paquet Java s'utilitza per categoritzar les classes i les interfícies de manera que es puguin mantenir fàcilment.
2) El paquet Java proporciona protecció d'accés.
3) El paquet Java elimina la col·lisió de noms.
Exemple senzill de paquet java
El paraula clau del paquet s'utilitza per crear un paquet en java.
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Com compilar el paquet java
Si no utilitzeu cap IDE, heu de seguir el sintaxi donat a continuació:
javac -d directory javafilename
Per exemple
javac -d . Simple.java
El commutador -d especifica la destinació on posar el fitxer de classe generat. Podeu utilitzar qualsevol nom de directori com /home (en el cas de Linux), d:/abc (en el cas de Windows), etc. Si voleu mantenir el paquet dins del mateix directori, podeu utilitzar . (punt).
Com executar el programa de paquets java
Heu d'utilitzar un nom totalment qualificat, p. mypack.Simple etc per executar la classe.
Per compilar: javac -d . Simple.java |
Córrer: java mypack.Simple |
Output:Welcome to package
El -d és un commutador que indica al compilador on ha de posar el fitxer de classe, és a dir, representa la destinació. El . representa la carpeta actual. |
Com accedir al paquet des d'un altre paquet?
Hi ha tres maneres d'accedir al paquet des de fora del paquet.
- importar paquet.*;
- import package.classname;
- nom totalment qualificat.
1) Utilitzant packagename.*
Si utilitzeu package.* llavors totes les classes i interfícies d'aquest paquet seran accessibles, però no els subpaquets.
La paraula clau import s'utilitza per fer que les classes i la interfície d'un altre paquet sigui accessible al paquet actual.
Exemple de paquet que importa el nom del paquet.*
//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) Utilitzant packagename.classname
Si importeu package.classname només serà accessible la classe declarada d'aquest paquet.
Exemple de paquet per import package.classname
//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) Utilitzant un nom totalment qualificat
Si utilitzeu un nom complet, només serà accessible la classe declarada d'aquest paquet. Ara no cal importar. Però heu d'utilitzar un nom totalment qualificat cada vegada que accediu a la classe o la interfície.
S'utilitza generalment quan dos paquets tenen el mateix nom de classe, p. Els paquets java.util i java.sql contenen la classe Date.
Exemple de paquet per importació de nom complet
//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
Nota: si importeu un paquet, els subpaquets no s'importaran.
Si importeu un paquet, s'importaran totes les classes i la interfície d'aquest paquet, excepte les classes i interfícies dels subpaquets. Per tant, també heu d'importar el subpaquet.
Nota: La seqüència del programa ha de ser paquet, importar i després classe.
Subpaquet en java
El paquet dins del paquet s'anomena subpaquet . S'hauria de crear per categoritzar encara més el paquet .
Prenguem un exemple, Sun Microsystem ha definit un paquet anomenat java que conté moltes classes com System, String, Reader, Writer, Socket, etc. Aquestes classes representen un grup particular, p. Les classes Reader i Writer són per a l'operació d'entrada/sortida, les classes Socket i ServerSocket són per a xarxes, etc., etc. Per tant, Sun ha subcategoritzat el paquet java en subpaquets com lang, net, io, etc. i ha posat les classes relacionades amb l'entrada/sortida al paquet io, les classes Server i ServerSocket en paquets net, etc.
L'estàndard per definir el paquet és domain.company.package, p. ex. com.javatpoint.bean o org.sssit.dao.
Exemple de subpaquet
package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } }
Per compilar: javac -d . Simple.java |
Córrer: java com.javatpoint.core.Simple |
Output:Hello subpackage
Com enviar el fitxer de classe a un altre directori o unitat?
Hi ha un escenari, vull posar el fitxer de classe del fitxer font A.java a la carpeta de classes de la unitat c:. Per exemple:
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Per compilar:
e:sources> javac -d c:classes Simple.java
Córrer:
Per executar aquest programa des del directori e:source, heu d'establir classpath del directori on resideix el fitxer de classe. |
e:sources> set classpath=c:classes;.; |
e:sources> java mypack.Simple |
Una altra manera d'executar aquest programa mitjançant el commutador -classpath de java:
El commutador -classpath es pot utilitzar amb javac i l'eina java.
Per executar aquest programa des del directori e:source, podeu utilitzar el commutador -classpath de java que indica on buscar el fitxer de classe. Per exemple:
caràcter a cadena en java
e:sources> java -classpath c:classes mypack.Simple
Output:Welcome to package
Maneres de carregar els fitxers de classe o els fitxers jar
Hi ha dues maneres de carregar els fitxers de classe temporals i permanents. |
- Temporal
- Configurant el classpath a l'indicador d'ordres
- Per commutador -classpath
- Permanent
- Configurant el classpath a les variables d'entorn
- En crear el fitxer jar, que conté tots els fitxers de classe, i copiant el fitxer jar a la carpeta jre/lib/ext.
Regla: només hi pot haver una classe pública en un fitxer font java i s'ha de desar amb el nom de la classe pública.
//save as C.java otherwise Compilte Time Error class A{} class B{} public class C{}
Com posar dues classes públiques en un paquet?
Si voleu posar dues classes públiques en un paquet, tingueu dos fitxers font java que continguin una classe pública, però manteniu el mateix nom del paquet. Per exemple: |
//save as A.java package javatpoint; public class A{}
//save as B.java package javatpoint; public class B{}
Quina és la funció d'importació estàtica de Java5?
Feu clic a la funció d'importació estàtica de Java5. |
Què passa amb la classe de paquets?
Feu clic per a la classe del paquet |