Java: instruction import vs nom complet?
J'ai essayé de trouver une réponse à cela à la fois en ligne et dans mon propre bagage de connaissances, mais je n'arrive pas à trouver définitif, de réponse claire.
Suppose que je suis en utilisant une seule classe d'un autre paquet seulement une fois qui doit être importé, dire myPack.anotherPackage.ClassName
.
Quelle est la différence, le cas échéant, entre l'utilisation d'un instruction d'importation:
import myPack.anotherPackage.ClassName;
comparativement à l'utilisation d'un nom complet:
myPack.anotherpackage.ClassName classInst = new myPack.anotherpackage.ClassName();
?
Évidemment, cette question ne s'applique que si ClassName
est utilisée une fois seulement.
- ressemble à une copie de stackoverflow.com/questions/5125404/...
- Pas vraiment. La question vous l'avez souligné demandé à propos de la performance de l'utilisation de déclarations d'importation, alors que cette question est plus sur la différence entre l'utilisation de l'importation et l'utilisation d'un nom qualifié. Les réponses seraient différentes.
- Quelles informations supplémentaires vous êtes à la recherche pour qui n'est pas couvert par aioobe accepté de répondre à la question que j'ai lié?
Vous devez vous connecter pour publier un commentaire.
Déclarations d'importation de rendre votre code plus lisible, puisque vous n'êtes pas encombrer le code avec le package complet.
Dans le cas où si il y a un conflit de
ClassNames
, alors que dans ce cas, il est conseillé d'y aller pour noms entièrement qualifiés.Aucun, à mon avis. Regarder le bytecode - il n'y aura pas de différence.
1. Son plus sur le
readability
valeur que defunctional
importance.2.
import
déclaration fournit uncleaner code
que l'utilisation de la nom complet du paquet le long de laclass
ouinterface
nom.3. Mais vous devez en prendre soin pendant l'importation de packages qui sont ambigus comme.
Ensuite, vous devez importer un complètement et avec le nom du package, comme ci-dessous
Il n'y a pas de différence après le code est compilé. Dans les deux cas de byte code auront des noms pleinement qualifiés c'est à dire les noms de classe sont remplacés par des noms qualifiés par le compilateur automatiquement. Ses juste pour rendre les programmeurs vie facile, où nous n'avons pas d'écrire le nom complet pour faire référence à une classe.
Il n'y a pas de réelle différence, en particulier pour votre simple cas cité ici. Voir Java: Utilisation d'importation ou explicite package /nom de la classe?
De ma connaissance pas de différence. La seule différence est le niveau de verbosité de votre code. En général, plus détaillé et plus il est difficile à lire. Peut-être regarde le pseudo-code?
L'importation et l'emballage sont utilisées pour la désignation et la protection de l'accès (par défaut)
Raison est Simple il peut y avoir plusieurs classes de même nom.
Afin de différencier entre eux, il nous faut les séparer en vertu de paquets et l'importation de ces cas de besoin.
Il n'y a pas de différence dans l'importation d'une classe ou directement en tapant le nom complet, cependant il y a quelques minutes différences.
1. Surtout si vous importer toutes les classes d'un package (c'est à dire à l'importation xyz.*;)
Les classes peuvent encore avoir un problème de nom par exemple si il y a de multiples général d'importation, vous utilisez peut-être la mauvaise classe au moment de l'exécution.
En général utiliser la meilleure pratique suivante:
1. N'utilisez jamais d'importation abc.*; format d'importation et toujours importer les classes individuelles (eclipse ou de certains IDE peut automatiquement corriger les importations à * et être nécessaire de le désactiver)
2. Vous devez utiliser le nom de classe entièrement qualifié lorsque vous avez déjà importé une classe de même nom et que vous voulez utiliser une autre classe avec le même nom dans le même programme.
3. Espérons que cela aide 🙂