Следует отметить одну важную вещь: единственный исходный код , необходимый для компиляции любого данного класса Java, - это исходный код этого класса.
Все остальное должно быть доступно в скомпилированном видетолько форма (то есть как .class
файлы).Это означает, что один файл .java
всегда является синтаксически замкнутой единицей, которой не требуется другой исходный код для интерпретации компилятором.
Это совсем не то, как языки в стиле Cобрабатывать внешние зависимости: им нужны определения типов и функций (а также макросы и некоторые вещи, о которых я, вероятно, забыл прямо сейчас), чтобы иметь возможность правильно анализировать и компилировать файл .c
(конечно, некоторые .c
файлы могут быть синтаксически закрыты, но это не обычный случай).
Самое близкое, что вы можете получить, включив огромный файл .h
в Java, использует импорт .*
для импорта всех классовданный пакет: import foo.bar.*
, но это все еще далеко от C / C ++ / Objective-C.
И на отдельном примечании: import foo.*
, вероятно, немного менее распространен в Java, чем отдельные операции импортапо одной простой причине: индивидуальный импорт гораздо более явный и дает понять, какие классы используются и , они обычно пишутся вашим IВ любом случае, DE предпочтительнее, поэтому этот выбор даже не затрудняет написание кода Java.