Я разработчик .Net, начинающий разработку Java для Android, и хотел бы знать, правильно ли это воспринимать пакеты Java, такие как сборки .NET.
Является ли пакет Java эквивалентом сборки .Net?
Ответ 1
Нет.
Лучшее сравнение будет с файлом Java ARchive (Jar). Java использует пакеты для управления пространством имен и очень похожа на пространство имен С#.
Вот как я сравнил среды
Java .Net
==== ====
Class Class
Package Namespace
Jar Assembly
Ответ 2
Нет, я думаю, что пакет Java будет больше похож на пространство имен
И сборка будет больше похожа на банку (я не настолько уверен в этом, так как я гораздо лучше знаком с Java, чем .Net... исправьте меня, если я ошибаюсь)
Ответ 3
Пакет Java похож на пространство имен в .NET.
Эквивалент сборки в Java - это jar файл.
Ответ 4
Пакет в Java обычно означает просто пространства имен для классов и интерфейсов, что на самом деле означает определенную структуру каталогов. Иногда файл .jar также упоминается как пакет. Скорее всего, это ближе всего к сбору. Файл .jar также может содержать другие данные, такие как изображения, или в основном своего рода файл, поскольку он снова является zip файлом с определенной структурой содержимого.
В любом случае: Обычно, когда вы читаете "пакет" в отношении "Java", подразумевается какое-то пространство имен (через структуру папок, например: com.mycompany.myproject). Это не помогает некоторым инструментам сборки ссылаться на процесс создания файла .jar как "упаковки"; -)
Ответ 5
Имейте в виду, что я далек от эксперта по Java, но, во всяком случае, там я беру на себя следующее:
Как указано в других ответах, пакет не является эквивалентом Ассамблеи. Однако я не полностью согласен с идеей того, что .jar является эквивалентом Ассамблеи.
Для меня класс Java (содержащийся в файле .class) ближе к сборке, чем к .jar. Я говорю это, в то время как блок загрузки для CLR является сборкой (что означает, что все классы, содержащиеся в этой сборке, загружаются), блок загрузки для JVM - это класс (когда JVM нужен класс, ClassLoader не загрузите все классы в контейнер-контейнере, он просто загружает определенный класс).
Подробнее о загрузке java-класса вы можете узнать здесь: Когда загружаются классы JVM?