Je veux faire un paquet de redirection vers un autre paquet. Par exemple, j'ai un paquet appelé "paquetA" et un autre appelé "paquetB", et l'importation de paquetA importerait paquetB. Je veux pouvoir faire ceci sans copier le paquet. En outre, est-il possible d'exécuter une méthode si packageA a été importé au lieu de packageB?Rendre la redirection de paquet vers un autre paquet
Répondre
Regardons comment fonctionne le compte import
:
Tout d'abord, import
importe que des classes ou des interfaces. Il jamais importe un package. En particulier, quelque chose comme
import java.util.*
importe toutes les classes et les interfaces dans le package nommé java.util
. Ce paquet est simplement un conteneur pour les classes et les interfaces, donc cela n'a vraiment aucun sens de parler de "l'importation d'un paquet". Un paquet en lui-même n'est pas quelque chose qui compile ou s'exécute. Cela dit, cela n'a aucun sens de parler de "redirection" car à quoi allez-vous rediriger? Si vous voulez importer une classe de "paquetA", il vous suffit de l'importer directement. De même, l'importation d'une classe à partir de packageA vous donne accès à ses méthodes classes. Puisque cette classe est dans le paquet A, cela n'a aucun sens d'essayer de l'importer depuis le paquetageB. Même si packageB a une classe avec le même nom, ce sont deux classes différentes. En fait, c'est la raison principale des paquets en Java: éviter les conflits de noms pour les classes écrites par deux programmeurs différents. Avec tout cela, quel problème avez-vous rencontré que vous essayez de résoudre avec "rediriger les importations"?
Je veux que les gens qui utilisent mon pot puissent utiliser l'ancien nom du paquet ET le nouveau nom du paquet. Est-ce que la classe peut être dans deux paquets en même temps? – Runemoro
@Runemoro Non, deux classes dans deux paquets sont deux classes différentes. Une façon de résoudre le problème est de créer la classe 'A' dans le paquetA et une autre classe nommée' A' dans le paquetB qui étend 'packageA.A'. –
Réponse courte: Non
Réponse longue: Un paquet fait partie de la classe et import
énoncés sont lus au moment de la compilation, ils ne sont pas interprétées. Ce que vous voulez devrait être fait par un compilateur Java tordu. Puisque certains compilateurs sont open-source, ce peut-être pourrait être fait mais ne comptez pas trouver une telle fonctionnalité. Autre solution: Si vous utilisez un EDI comme Netbeans, Eclipse, etc. Il existe de nombreux outils de refactoring qui pourraient vous aider à changer le nom d'un paquet en un autre.
- 1. Comment faire un paquet supprimer un autre (plus ancien) paquet?
- 2. Symfony appelle un paquet dans un autre paquet
- 3. Rendre un paquet virtuel disponible via sys.modules
- 4. mikrotik destination IP paquet vers un autre ip
- 5. Un paquet à l'intérieur d'un paquet?
- 6. Rendre mon paquet SSIS portable - comment faire?
- 7. Comment rediriger (301) un paquet d'anciennes URL vers de nouvelles?
- 8. R paquet en C en fonction d'un autre paquet R
- 9. Comment importer et utiliser un autre paquet
- 10. Référencement layout.xml d'un autre paquet
- 11. Moo: Ajouter attribut à un autre paquet
- 12. Comment modifier un oracle de paquet sans supprimer le paquet
- 13. Comment puis-je faire dépendre un paquet Debian d'un autre paquet avec exactement la même version?
- 14. ADT: Evite de dupliquer du code dans un paquet avec dépendance d'un autre paquet déployé?
- 15. Tracer des segments circulaires colorés (chaleur) avec le paquet 'forme' de R (ou un autre paquet?)
- 16. Créer un paquet privé?
- 17. paquet git: étiquettes paquet et têtes
- 18. Charger un paquet seulement si nécessaire dans le paquet R
- 19. Comment pip peut-il rendre un paquet exécutable?
- 20. accéder à la méthode protégée dans un autre paquet?
- 21. paquet envoyé est différent du paquet reçu
- 22. Capture de paquet vers la base de données?
- 23. Quelle est la différence entre un paquet avec un pot et un paquet avec des classes?
- 24. comment puis-je importer la classe d'un autre paquet dans mon paquet
- 25. Pourquoi mon énumération Scala est-elle interrompue lorsque je la déplace vers un autre paquet?
- 26. Demande de redirection vers un autre contrôleur
- 27. Parsing un paquet TCP
- 28. rpm paquet échec, paquet encore installé
- 29. Référez-vous à un paquet différent du godoc d'un paquet
- 30. Paquet SQL - Paquet DTS: droits minimum
Non faisable. Pardon. –
Java n'a pas cette "caractéristique". –
Pourquoi voudriez-vous faire cela? –