"Первое выражение, отличное от комментариев, в исходном файле Java должно быть объявлением пакета. После необязательного объявления пакета вы можете иметь инструкции импорта, которые позволяют вам указывать классы из других пакетов, на которые можно ссылаться, без их их пакет ".
В файле MainActivity.java я удалил оператор пакета в верхней части файла, и он говорит, что отсутствует требуемый пакет. однако, в соответствии с вышеприведенным выражением, он не является обязательным. Может ли кто-нибудь объяснить?
Кроме того, в чем разница между использованием package
и ключевыми словами import
. Является ли пакет коллекцией файлов классов с расширением.java? импортируется только для файлов только одного класса.
Папка com.example.hello_world содержит только файл MainActivity.java и другие файлы. Итак, почему я должен использовать ключевое слово package
вместо ключевого слова import
?
Благодарю.
Пакет - это папка, в которой находится файл. Он является необязательным только для случаев, когда файл не находится в пакете.
Импорт - это файл, который оператор ссылается на другой пакет.
Если вы используете только java.lang
, java.lang.Object
или файлы одного и того же пакета, тогда вам не нужно импортировать, если они недвусмысленны.
package
? Я попытался это, и он выдал следующую ошибку: syntax error on token "package, import expected."
Это функция 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");