Насколько я понимаю, каждый отдельный класс java скомпилирован из одного java-файла в один файл класса. (По крайней мере, пока не задействованы никакие внутренние классы.)Почему мне нужно указать classpath для компиляции java в класс?
Есть ли какая-либо техническая причина, почему javac
нуждается в доступе к ссылочным классам для создания файла класса?
Действительно ли это только для проверки того, что выданные вызовы метода действительно действительны или действительно есть некоторые бит информации из ссылочных классов, которые необходимо интегрировать в сгенерированный файл класса?
Можете привести пример, в котором javac
необходимо создать другой байт-код в зависимости от содержимого ссылочного класса?
Любая хорошая документация по этой теме?
Это не просто проверка того, что методы invocations действительны - это знать, что такое тип возврата, и т. Д. Java - это статически типизированный язык, поэтому, когда вы ссылаетесь на тип кода, компилятор собирается проверить, что он существует и что вы используете его правильно. –
И он также должен получить значения констант времени компиляции из указанных ссылочных классов. –