Je suis un développeur .Net qui démarre le développement Java pour Android et je voudrais savoir s'il est correct de penser aux packages Java comme les assemblages .Net.
Réponses
Trop de publicités?Un package en Java signifie généralement juste un des espaces pour les classes et les interfaces, ce qui signifie, en réalité, une structure de répertoires spécifiques. Parfois, une .le fichier jar est également mentionné comme un paquet. C'est probablement le plus proche de vous rendre à une assemblée. Un .jar fichier peut également contenir d'autres données comme des images, ou fondamentalement un type de fichier puisque c'est juste une fermeture à glissière avec un contenu spécifique de la structure.
Dans tous les cas: d'Habitude, quand vous lisez "package" par rapport à "Java", une sorte d'espaces de noms (par l'intermédiaire de la structure de dossier, par exemple: com.mycompany.myproject) est destinée. Cela n'aide pas que certains outils de construction de désigner le processus de construction .fichier jar "emballage" ;-)
Gardez à l'esprit que je suis loin d'être un expert Java, mais de toute façon, là, il va ma prendre sur cela:
Comme l'ont souligné d'autres réponses, un paquet n'est pas l'équivalent d'une Assemblée. Cependant, je ne suis pas entièrement d'accord avec l'idée d'une .jar être l'équivalent d'une Assemblée.
Pour moi, une classe Java (contenues dans une .fichier de classe) est plus proche d'une Assemblée de un .le pot est. Je dis cela en cause l'unité de charge pour le CLR est l'Assemblée (ce qui signifie que toutes les classes contenues dans cette Assemblée chargés), l'unité de charge pour la JVM est une classe (lorsque la JVM a besoin d'une classe, le chargeur de classe ne prend pas en charge toutes les classes dans le conteneur de pot, c'est juste que des charges spécifiques de la classe nécessaire).
Vous pouvez en lire plus à propos de java de chargement de classe ici: Lorsque la JVM de la charge des classes?