2014-10-06 1 views
0

У меня есть каталог, который содержит следующее:Являются ли два java-файла в каталоге «пакетом»?

1) A.java
2) B.java

это все, что требуется для того, чтобы позвонить в мой каталог Java, «пакет»? Что делать, если я компилирую оба из них, приводя к каталогу с двумя дополнительными .class-файлами? Можно ли это считать пакетом или есть другие требования/действия?

+0

Два файла Java находятся в одном пакете, если они имеют одну и ту же директиву 'package'. Они фактически не должны находиться в одном каталоге (хотя это хорошая идея). –

ответ

3

Файлы должны начинаться с объявления пакета, которое соответствует каталогу, в котором они находятся.

Например:

package com.something;

, если файлы находятся в com/something.

com/ 
    something/ 
     A.java 
     B.java 
+1

Я не думаю, что имя пакета обязательно должно соответствовать структуре каталогов (хотя это, конечно, хорошая практика). – MrHug

+0

@MrHug JLS не требует этого, но многие реализации Java полагаются на него. См. [Здесь] (http://docs.oracle.com/javase/tutorial/java/package/managingfiles.html). – Eran

+0

Как @MrHug сказал, что нет необходимости, чтобы исходные файлы находились в той же структуре каталогов, что и объявление пакета. Объявление пакета в исходном файле определяет пакет классов. Однако это стало конвенцией, а также хорошей практикой. Так как это так, многие инструменты были разработаны, ожидая такого поведения. – markbernard

0

Чтобы быть в том же пакете, файлы должны и содержать строку:

package com.example.samepackage; 

(например)

0

Пакет как структура каталогов, но не путать с окном-х или другой ОС.

Просто рассмотрите пакет как пакет файлов.

Просто напишите: пакет ничего;

как верхняя часть линии в вашей программе. Все файлы имеют одинаковое имя пакета, которые будут помещены в один и тот же пакет «ничего» и, следовательно, могут быть использованы для дальнейшей реализации, например «import amything»; если вы хотите использовать эти файлы в любой другой программе, а затем использовать структуру этих файлов.

Смежные вопросы