Я разработчик .Net, начинающий разработку Java для Android, и хотел бы знать, правильно ли думать о пакетах Java, таких как сборки .Net.Является ли пакет Java эквивалентом сборки .Net?
ответ
No.
лучшее сравнение было бы с файлом Java Archive (JAR). Java использует пакеты для управления пространством имен и очень похож на пространство имен C#.
Вот как я бы сравнить среды
Java .Net
==== ====
Class Class
Package Namespace
Jar Assembly
Нет, я думаю, что пакет Java будет больше похож на пространство имен
И сборка будет больше похожа на банку (я не уверен в этом, так как я гораздо больше знаком с Java чем .Net ... поправьте меня, если я ошибаюсь)
Существует пшик-все мешает мне добавлять классы в пространстве имен java.lang путем создания нового пакета , Один из способов устранения проверенных исключений, предназначенных для выполнения именно этого (переопределение исключения и исключения RuntimeException во время компиляции). – Joshua
+1 Ваш ответ отражает Wiki http://en.wikipedia.org/wiki/Java_package –
@Joshua, добавление классов в пакет java.lang возможно только в том случае, если вы поместите класс в свою собственную банку. Он также будет работать только для добавленного класса. Если вы пытались заменить класс Exception, я не уверен, что это возможно, потому что JRE загружает это сам, даже если CLASSPATH не определен. –
Java, пакет является как пространство имен в .NET.
Эквивалентом сборки в Java является файл jar.
Пакет в Java обычно означает просто пространства имен для классов и интерфейсов, что на самом деле означает определенную структуру каталогов. Иногда файл .jar также упоминается как пакет. Скорее всего, это ближе всего к сбору. Файл .jar также может содержать другие данные, такие как изображения, или, в основном, своего рода файл, поскольку он снова является zip-файлом с определенной структурой содержимого.
В любом случае: Обычно, когда вы читаете «пакет» в отношении «Java», подразумевается какое-то пространство имен (через структуру папок, например: com.mycompany.myproject). Это не помогает, что некоторые инструменты сборки относятся к процессу построения файла .jar как «упаковки» ;-)
Помните, что я далек от эксперта по Java, но, во всяком случае, на этом:
Как указано в других ответах, пакет не является эквивалентом Ассамблеи. Однако я не полностью согласен с идеей того, что .jar является эквивалентом Ассамблеи. Для меня класс Java (содержащийся в файле .class) ближе к сборке, чем .jar. Я говорю это, в то время как блок загрузки для CLR является сборкой (что означает, что все классы, содержащиеся в этой сборке, загружаются), блок загрузки для JVM - это класс (когда JVM нужен класс, ClassLoader не загрузите все классы в контейнер-контейнере, он просто загрузит этот конкретный класс).
Вы можете прочитать больше о Java загрузки класса здесь: When does the JVM load classes?
- 1. Является ли boost :: asio эквивалентом Poco :: Net?
- 2. Что такое пакеты Java, сборки .NET и пространства имен .NET и является ли пакет Java таким же, как .NET Namespace?
- 3. Является ли Time.zone.now.to_date эквивалентом Date.today?
- 4. Является ли onpropertychange эквивалентом oninput?
- 5. Является ли DriveApp.getFiles() эквивалентом DocsList.getFiles()?
- 6. что является Java-эквивалентом звукового элемента
- 7. Является ли родительский атрибут тега bean эквивалентом наследования в Java?
- 8. Является ли SessionScope точным эквивалентом ISession?
- 9. Является ли cudaHostRegister эквивалентом системного вызова mlock()?
- 10. Является ли sys.exit эквивалентом для повышения SystemExit?
- 11. Является ли html/javascript эквивалентом as3/flex?
- 12. Является ли php checkdnsrr эквивалентом для mysql?
- 13. Является ли # определенным MACRO эквивалентом #ifdef MACRO?
- 14. Является ли iOS NSNotification эквивалентом событий?
- 15. Является ли s s эквивалентом s [i]?
- 16. Что такое .NET StringComparer является эквивалентом SQL Latin1_General_CI_AS
- 17. Что будет Java-эквивалентом WCF
- 18. Что является ближайшим эквивалентом макета формы Qt в .NET WinForms?
- 19. Что является эквивалентом instanceof в C++?
- 20. Проблема сборки сборки .NET .NET
- 21. Что является эквивалентом модуля (python-) в UML
- 22. , что является эквивалентом ExpectedConditions.not в Python
- 23. Как проверить, является ли файл сборки .NET в C#
- 24. .NET runtime vs. Java Hotspot: Является ли .NET одним поколением?
- 25. Является ли XAML эквивалентом WPF эквивалентом .Designer.cs в приложениях Windows Forms?
- 26. Является ли Java JAR-файлом похожим на .NET-сборку?
- 27. Является ли Visual Studio эквивалентом Eclipse «Запуск конфигураций»?
- 28. Является ли формат WAV эквивалентом BMP с точки зрения переносимости?
- 29. Является ли это эквивалентом конструктора копирования в Python?
- 30. Является ли это эквивалентом добавок PHP в Perl?
Я добавлю, что в сборке в .NET есть более тонкие модификаторы доступа, чем Jar в Java (по крайней мере, так я понимаю). Этот ответ объясняет одну такую деталь: http://stackoverflow.com/a/9808237/1168342 – Fuhrmanator