есть ли что-нибудь в java, подобное заголовочным файлам на C / C

#java

#java

Вопрос:

В C существует концепция заголовочных файлов, которая позволяет вам включать заголовочные файлы, необходимые для большей части программы, за один раз, и поэтому вы можете импортировать только один заголовочный файл в каждую вашу программу. Я нахожу это довольно аккуратным. Теперь я некоторое время работаю на JAVA, и afaik я не могу сгруппировать набор импорта, который мне требуется почти для каждого файла, и поместить их в один. Я ошибаюсь? И это лучше, чем поместить всю необходимую связку в один java-файл.

Комментарии:

1. Разработчики IMHO большую часть времени используют функции организации импорта и автоматического импорта в своей IDE, что делает управление импортом практически невидимым.

2. создайте свою собственную библиотеку?

3. Библиотека этого не исправит. Язык Java не обеспечивает такой гибкости, которая позволила бы вам нарушать фундаментальные принципы, такие как импорт, за исключением написания собственного компилятора.

Ответ №1:

Такого понятия не существует. Если вам требуется класс из другого пакета (которого нет в java.lang), вам придется импортировать. Но это практически тривиально при использовании правильной IDE. В Eclipse или NetBeans вы обычно находитесь на расстоянии одной ключевой комбинации от исправления вашего импорта.

Комментарии:

1. Являются ли эти классы (которые вы используете снова и снова) вашими собственными классами? Если это так и они находятся в отдельных пакетах, вы можете рассмотреть возможность поместить их все в один пакет. Затем об этом позаботится один импорт (как в import com.ij.*; ).

2. Не делайте этого. Разделите классы на пакеты в соответствии с правильной логикой. Существует несколько возможных подходов (например, WEB4J придерживается того, что называется «пакет по функциям»). Объединение всего в один пакет для удобства импорта совершенно не нужно, когда IDE предлагают так много поддержки и волшебства автозаполнения. РЕДАКТИРОВАТЬ: проверьте это для получения некоторых советов о том, что может сработать -> javapractices.com/topic/TopicAction.do?Id=205

3. Не мои собственные классы. Но есть несколько импорта, которые являются общими для нескольких файлов, таких как java.util.Vector, org.apache.xxx и т.д.

Ответ №2:

В Java нет эквивалента файлов заголовков, однако вы можете импортировать целые пакеты:

 import mypackage.*
 

Комментарии:

1. это совсем не одно и то же. Импорт на самом деле ничего не вносит в JVM; это просто устройство для экономии ввода.

2. Однако это не рекомендуется. Я не совсем уверен, почему на это смотрят свысока, но IDE, как правило, придираются к этому.

3. Также не рекомендуется включать несколько заголовков в единственные заголовочные файлы и включать их во все другие места.

4. @G_H: ИМО, его разочарование — наследие времен, предшествовавших IDE. Я считаю это устаревшим и использую этот стиль только сейчас (и настроил для него свою среду IDE). В наши дни разработчики также склонны писать меньшие классы, что также помогает (т. Е. Меньше импорта).

5. @LuchianGrigore: Не знал бы этого, я не разработчик C ( ). Но это звучит как-то неприглядно. В singleShot: имело бы смысл. Это может увеличить вероятность коллизий имен, заставляя вас использовать канонические имена, но это все еще встречается довольно редко. У меня импорт свернут в NetBeans по умолчанию, поэтому они меня не беспокоят.