Каковы отношения и различия между пакетом и файлом .jar? [Дубликат]

Это означает, что ваш код использовал ссылочную переменную объекта, которая была установлена ​​в нуль (т. е. она не ссылалась на экземпляр фактического объекта).

Чтобы предотвратить ошибку, объекты, которые могут быть пустыми, должны быть протестированы для null перед тем, как использовать.

if (myvar != null)
{
    // Go ahead and use myvar
    myvar.property = ...
}
else
{
    // Whoops! myvar is null and cannot be used without first
    // assigning it to an instance reference
    // Attempting to use myvar here will result in NullReferenceException
}
6
задан ide 28 February 2011 в 06:21
поделиться

4 ответа

Пакет - это способ логически организовать ваши классы. Например, вы можете объявить package com.foo; в верхней части каждого исходного файла, которые достаточно связаны друг с другом, чтобы находиться в пакете com.foo вместе. Компилятор Java и среда выполнения также ожидают, что вы поместите такие файлы в путь com/foo/, где корень этого пути является каталогом или JAR в вашем пути к классам.

Файл JAR позволяет вам физически организовать ваши классы. Вы можете взять любые файлы Java (и их родительские каталоги, соблюдая описанную выше структуру каталогов) и сохранить их в JAR-файле. Файл JAR может содержать файлы, принадлежащие нескольким пакетам, а несколько файлов JAR могут содержать файлы, принадлежащие одному и тому же пакету. Таким образом, файл JAR в значительной степени способ хранить несколько файлов классов в одном физическом файле.

Существуют некоторые другие специальные характеристики файлов JAR. Например, вы можете указать значение Main-Class в манифесте JAR, чтобы указать, какой класс является точкой входа для приложения, и вы можете скрыть пакеты в JAR-файле , что означает, что все классы, определенные в этом пакете, должны быть заархивированы в одном JAR-файле ».

12
ответ дан ide 27 August 2018 в 00:57
поделиться

Вкратце, JAR-файл представляет собой физический файл, структурированный так же, как zip-файл, который содержит файлы, используемые вашей программой во время выполнения. В jar обычно входят файлы .class, исполняемые версии ваших классов и другие ресурсы, такие как значки, изображения, файлы свойств, специфичные для языка, и т. Д. Учебное пособие по Java описывает банки и способы их создания / управления. (http://java.sun.com/docs/books/tutorial/jar/index.html)

Пакеты определены в этом разделе в учебном курсе Java на интерфейсах и пакетах: «Коллекция связанных классы и интерфейсы, обеспечивающие защиту доступа и управление пространством имен ». (Http://java.sun.com/docs/books/tutor...va/interpack/). Точно, я не считаю, что это определение само по себе действительно дает вам хорошее представление о том, что такое пакет. Для получения дополнительной информации перейдите на указанную страницу и прочитайте в этом разделе учебника.

2
ответ дан Akshatha 27 August 2018 в 00:57
поделиться

Пакет - это механизм Java для организации классов в пространства имен. Яркой является Java ARchive, файл, который объединяет несколько классов Java в один.

3
ответ дан Richard Pianka 27 August 2018 в 00:57
поделиться

В classpath jar и package (directory) - это те же структуры. Просто jar более полезен для перемещения между компьютерами, чем каталог.

-1
ответ дан Sergey Vedernikov 27 August 2018 в 00:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: