Непонятное утверждение о пакете и ключевом слове импорта в eclipse

1

"Первое выражение, отличное от комментариев, в исходном файле Java должно быть объявлением пакета. После необязательного объявления пакета вы можете иметь инструкции импорта, которые позволяют вам указывать классы из других пакетов, на которые можно ссылаться, без их их пакет ".

В файле MainActivity.java я удалил оператор пакета в верхней части файла, и он говорит, что отсутствует требуемый пакет. однако, в соответствии с вышеприведенным выражением, он не является обязательным. Может ли кто-нибудь объяснить?

Кроме того, в чем разница между использованием package и ключевыми словами import. Является ли пакет коллекцией файлов классов с расширением.java? импортируется только для файлов только одного класса.

Папка com.example.hello_world содержит только файл MainActivity.java и другие файлы. Итак, почему я должен использовать ключевое слово package вместо ключевого слова import?

Благодарю.

  • 0
    Пакет похож на пространство имен в других языках. Информация о пакете также важна для прав доступа из разных классов ... и так далее. Хороший обзор здесь Ссылка
Теги:
import
packages

2 ответа

0

Пакет - это папка, в которой находится файл. Он является необязательным только для случаев, когда файл не находится в пакете.

Импорт - это файл, который оператор ссылается на другой пакет.

Если вы используете только java.lang, java.lang.Object или файлы одного и того же пакета, тогда вам не нужно импортировать, если они недвусмысленны.

  • 0
    так что если вы используете несколько файлов .java из одного пакета, вместо импорта каждого из них вы можете использовать оператор package ? Я попытался это, и он выдал следующую ошибку: syntax error on token "package, import expected."
  • 0
    Нет, упаковка - это не то же самое, что импорт. Импорт - это использование файла в другом пакете в вашем коде, пакет - это место, где находится файл.
Показать ещё 4 комментария
0

Это функция Eclipse.

Ваши классы Java могут находиться в любом package независимо от того, где находится соответствующий .java файл.

Например, вы могли бы

package com.random;

public class DoesntMatter {}

и этот файл .java в /usr/wtv/DoesntMatter.java

Однако в Eclipse из-за того, как он управляет вашим проектом, файл .java который будет скомпилирован, должен жить в иерархии папок (внутри исходной папки), которая соответствует объявлению package. Если это не так, Eclipse жалуется.

Оператор import просто позволяет вам использовать простые имена типов. Вместо того, чтобы писать

java.io.File file = new java.io.File("wtv");

ты можешь написать

import java.io.File;

...

File file = new File("Wtv");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню