Atelier 06
Dans cet atelier, nous allons réviser brièvement la portée des packages, comment les relier à l’aide des imports, et comment tout cela se rapporte au classpath.
Importations et paquets
- Les imports sont nécessaires chaque fois que vous traversez les limites d’un package.
- Cependant, il y a une exception : les classes de la bibliothèque standard n’ont pas besoin d’être importées.
À vous de jouer
- Créez un nouveau projet avec au moins deux paquets,
aetb.- Créez une nouvelle classe dans chaque paquet.
- Essayez de créer une nouvelle classe du paquet
bà partir de votre classe dans le paqueta.
- Vérifiez qu’une importation est requise.
- Vérifiez ce qui se passe si vous retirez l’importation. Quel est le message d’erreur du compilateur ?
- Créez un
new String, unnew LinkedList, et affichezMath.PIà partir de l’une de vos classes.- Combien d’instructions d’importation sont nécessaires ? Pourquoi n’avez-vous pas besoin d’un import pour chacune des classes utilisées ?
Classpath
Par défaut, le compilateur et la JVM ne « connaissent » que ce qui se trouve sur le classpath. Autrement dit, vous ne pouvez pas importer des artefacts situés en dehors du classpath, et vous ne pouvez pas exécuter un logiciel dépendant d’artefacts situés en dehors du classpath.
Dans cet exercice, vous allez brièvement vous exercer à intégrer une classe de bibliothèque sans copier-coller son code source dans votre projet.
À vous de jouer
- Téléchargez cette bibliothèque
d’exemple : amazing.jar
- Enregistrez le fichier quelque part à l’extérieur de votre projet.
- Inspectez le contenu du fichier JAR (vous pouvez renommer l’extension en
zipet décompresser le fichier).
- La bibliothèque contient une seule interface
AmazingInterface, avec une seule méthodevoid doSomethingAmazing().- Vous devez maintenant implémenter l’interface fournie.
- Créez une nouvelle classe
AmazingImplementation:
import amazing.AmazingInterface;
public class AmazingImplementation implements AmazingInterface {
public void doSomethingAmazing() {
System.out.println("Wowser !");
}
}
- Créez une classe de lancement qui invoque la méthode
doSomethingAmazing. - Vérifiez maintenant si vous pouvez compiler et exécuter votre application. Rappel :
- Pour compiler, utilisez l’argument
-cp .../.../amazing.jar, où.../.../fait référence à l’emplacement du fichier sur le disque. - Pour exécuter, utilisez l’argument
-cp .../.../amazing.jar:., où.../.../fait référence à l’emplacement du fichier sur le disque, et:.étend le classpath avec les fichiers de classe du répertoire courant.
- Pour compiler, utilisez l’argument
- Vérifiez que les deux étapes réussissent.