Я совершенно новичок в Java и столкнулся с вопросом, что java-компилятор создает объект одного класса в другом классе. Например:Как компиляция Java создает объекты одного класса в другом классе?
У меня есть класс А, как показано ниже:
class A{}
У меня есть класс B с основным методом:
class B {
public static void main(String[] args){
A a = new A();
System.out.println(a);
}
}
Вот вопрос: я написал класс А в одном отдельном текстовом файле и класс B в другом txt-файле. Когда я компилирую «Класс B» Как компилятор знает, что «класс A» существует, поскольку в классе B нет следа класса A. Мы не даем путь к классу A, и мы не даем никакой подсказки, чтобы существовал класс A. Но как компилятор java знает и создает объект для класса A в классе B. Это может быть глупый вопрос, но он не позволяет мне продолжать дальше без ответа. Заранее спасибо.
компилятор Java на самом деле выглядит на жестком диске, чтобы найти эти файлы. Вы можете указать путь (ы), который он использует, чтобы искать их вручную с помощью опции -classpath. http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html – markspace
Компилятор не создает объект, он просто проверяет совместимость ссылочного типа и доступность этого класса во время компиляции (здесь класс A в классе B). Таким образом, загрузчик классов загружает класс A сначала, а затем загружает класс B, так как класс B зависит от класса A. Создание объекта происходит во время выполнения. Если вы понимаете время компиляции и время выполнения отдельно, большинство ваших сомнений будут решены. ref: http://stackoverflow.com/questions/20796046/flow-of-class-loading-for-a-simple-program, http: // www.javaworld.com/article/2077260/learn-java/learn-java-the-basics-of-java-class-loaders.html – dkb
-http: //stackoverflow.com/questions/39060422/how-java-compiles-creates -bjects-of-one-class-in-another-class] Спасибо .. @dkb – Javabie