- Paquet Java
- Exemple de forfait
- Accéder au package
- Sous-paquet
- Envoi du fichier de classe vers un autre répertoire
- -commutateur de chemin de classe
- 4 façons de charger le fichier de classe ou le fichier jar
- Comment mettre deux classes publiques dans un package
- Importation statique
- Classe de paquet
UN paquet Java est un groupe de types similaires de classes, d'interfaces et de sous-packages.
Le package en Java peut être classé sous deux formes, package intégré et package défini par l'utilisateur.
Il existe de nombreux packages intégrés tels que java, lang, awt, javax, swing, net, io, util, sql, etc.
Ici, nous aurons l'apprentissage détaillé de la création et de l'utilisation de packages définis par l'utilisateur.
méthode de sous-chaîne en Java
Avantage du package Java
1) Le package Java est utilisé pour catégoriser les classes et les interfaces afin qu’elles puissent être facilement maintenues.
2) Le package Java fournit une protection d’accès.
3) Le package Java supprime les collisions de noms.
Exemple simple de package Java
Le mot-clé du package est utilisé pour créer un package en java.
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Comment compiler un paquet Java
Si vous n'utilisez aucun IDE, vous devez suivre les syntaxe donnée ci-après:
javac -d directory javafilename
Pour exemple
javac -d . Simple.java
Le commutateur -d spécifie la destination où placer le fichier de classe généré. Vous pouvez utiliser n'importe quel nom de répertoire comme /home (dans le cas de Linux), d:/abc (dans le cas de Windows), etc. Si vous souhaitez conserver le package dans le même répertoire, vous pouvez utiliser . (point).
Comment exécuter le programme de package Java
Vous devez utiliser un nom complet, par exemple. mypack.Simple etc pour exécuter la classe.
Compiler: javac -d . Simple.java |
Courir: java monpack.Simple |
Output:Welcome to package
Le -d est un commutateur qui indique au compilateur où placer le fichier de classe, c'est-à-dire qu'il représente la destination. Le . représente le dossier actuel. |
Comment accéder au package depuis un autre package ?
Il existe trois manières d’accéder au package depuis l’extérieur du package.
- paquet d'importation.*;
- importer package.classname ;
- nom pleinement qualifié.
1) Utilisation du nom du package.*
Si vous utilisez package.* alors toutes les classes et interfaces de ce package seront accessibles mais pas les sous-packages.
Le mot-clé import est utilisé pour rendre les classes et l'interface d'un autre package accessibles au package actuel.
Exemple de package qui importe le nom du package.*
//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) Utilisation de packagename.classname
Si vous importez package.classname, seule la classe déclarée de ce package sera accessible.
Exemple de package par 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) Utilisation d'un nom complet
Si vous utilisez un nom complet, seule la classe déclarée de ce package sera accessible. Désormais, il n'est plus nécessaire d'importer. Mais vous devez utiliser un nom complet à chaque fois que vous accédez à la classe ou à l'interface.
Il est généralement utilisé lorsque deux packages ont le même nom de classe, par exemple. Les packages java.util et java.sql contiennent la classe Date.
Exemple de package par nom complet d'importation
//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
Remarque : Si vous importez un package, les sous-packages ne seront pas importés.
Si vous importez un package, toutes les classes et interfaces de ce package seront importées à l'exclusion des classes et interfaces des sous-packages. Par conséquent, vous devez également importer le sous-package.
Remarque : La séquence du programme doit être un package, puis une importation, puis une classe.
Sous-paquet en Java
Le paquet à l'intérieur du paquet est appelé le sous-paquet . Il faudrait le créer pour catégoriser davantage le colis .
Prenons un exemple, Sun Microsystem a défini un package nommé java qui contient de nombreuses classes comme System, String, Reader, Writer, Socket etc. Ces classes représentent un groupe particulier, par exemple. Les classes Reader et Writer sont destinées aux opérations d'entrée/sortie, les classes Socket et ServerSocket sont destinées à la mise en réseau, etc. Ainsi, Sun a sous-catégorisé le package Java en sous-packages tels que lang, net, io, etc. et a placé les classes liées aux entrées/sorties dans le package io, les classes Server et ServerSocket dans les packages net, etc.
La norme de définition du package est domain.company.package, par exemple. com.javatpoint.bean ou org.sssit.dao.
Exemple de sous-package
package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } }
Compiler: javac -d . Simple.java |
Courir: java com.javatpoint.core.Simple |
Output:Hello subpackage
Comment envoyer le fichier de classe vers un autre répertoire ou lecteur ?
Il existe un scénario, je veux mettre le fichier de classe du fichier source A.java dans le dossier classes du lecteur c:. Par exemple:
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Compiler:
e:sources> javac -d c:classes Simple.java
Courir:
Pour exécuter ce programme à partir du répertoire e:source, vous devez définir le chemin de classe du répertoire où réside le fichier de classe. |
e:sources> set classpath=c:classes;.; |
e:sources> java monpack.Simple |
Une autre façon d'exécuter ce programme avec le commutateur -classpath de Java :
Le commutateur -classpath peut être utilisé avec les outils javac et java.
Pour exécuter ce programme à partir du répertoire e:source, vous pouvez utiliser le commutateur -classpath de Java qui indique où rechercher le fichier de classe. Par exemple:
fmoviez
e:sources> java -classpath c:classes monpack.Simple
Output:Welcome to package
Façons de charger les fichiers de classe ou les fichiers jar
Il existe deux manières de charger les fichiers de classe temporaires et permanents. |
- Temporaire
- En définissant le chemin de classe dans l'invite de commande
- Par commutateur de chemin de classe
- Permanent
- En définissant le chemin de classe dans les variables d'environnement
- En créant le fichier jar, qui contient tous les fichiers de classe, et en copiant le fichier jar dans le dossier jre/lib/ext.
Règle : il ne peut y avoir qu'une seule classe publique dans un fichier source Java et elle doit être enregistrée sous le nom de la classe publique.
//save as C.java otherwise Compilte Time Error class A{} class B{} public class C{}
Comment mettre deux cours publics dans un package ?
Si vous souhaitez mettre deux classes publiques dans un package, disposez de deux fichiers sources Java contenant une classe publique, mais conservez le même nom de package. Par exemple: |
//save as A.java package javatpoint; public class A{}
//save as B.java package javatpoint; public class B{}
Qu’est-ce que la fonctionnalité d’importation statique de Java5 ?
Cliquez sur la fonctionnalité d'importation statique de Java5. |
Qu’en est-il de la classe de package ?
Cliquez pour la classe de package |