Member 11778984 Ответов: 1

Как java compiles создает объекты одного класса в другом классе?


Я совершенно новичок в Java и наткнулся на вопрос, как компилятор java создает объект одного класса в другом классе. Например :

У меня есть класс А, как показано ниже :
class A{}

//I have class B with main method :

    class B{

        public static void main(String[] args){

        A a = new A();
        
        System.out.println(a);
        
    }
}

Вот вопрос: я написал класс а в одном отдельном txt-файле и класс В в другом txt-файле. Когда я компилирую Class B Откуда компилятор это знает class A существует, так как нет никаких следов class A в class B. Мы не даем пути Class A и мы не даем ни малейшего намека на то, что class A существует. Но как компилятор java знает и создает объект для Class A в class B Это может быть глупый вопрос, но он не позволяет мне продолжать дальше без ответа. Заранее спасибо.

Что я уже пробовал:

У меня есть класс А, как показано ниже :
class A{}


У меня есть класс B с основным методом :


класс В{

публичный статический пустота главный(строка[] аргументы){

А а = новый();

Системы.из.код println(а);

}
}

Mohibur Rashid

в этом случае я предполагаю, что ваш класс a находится в том же каталоге, что и b. То есть когда javac получает этот неизвестный класс и не видит никакого оператора using related, он будет искать a.java в текущем каталоге.

1 Ответов

Рейтинг:
2

Richard MacCutchan

Когда вы компилируете B, то компилятор Java пытается найти все связанные классы, чтобы создать запускаемую программу. Если он не может найти A.class файл, но он может найти A.java файл, то он будет строить класс автоматически. Попробуйте выполнить команду

java -verbose B.java

и вы увидите это в действии.