Нужны ли нам форвардные объявления в Java?

Опубликовано: 15 Февраля, 2022

Predict output of the following Java program.

// filename: Test2.java
    
// main() function of this class uses Test1 which is declared later in 
// this file
class Test2 {      
    public static void main(String[] args) {    
         Test1 t1 = new Test1();
         t1.fun(5);         
    }
}    
class Test1 {   
    void fun(int x) {
        System.out.println("fun() called: x = " + x);
    }
}

Выход:

 fun () называется: x = 5

Программа Java компилируется и работает нормально. Обратите внимание, что Test1 и fun () не объявляются перед их использованием. В отличие от C ++, нам не нужны форвардные объявления в Java. Идентификаторы (имена классов и методов) автоматически распознаются из исходных файлов. Точно так же библиотечные методы считываются непосредственно из библиотек, и нет необходимости создавать файлы заголовков с объявлениями. Java использует схему именования, в которой имена пакетов и общедоступных классов должны следовать за именами каталогов и файлов соответственно. Эта схема именования позволяет компилятору Java находить файлы библиотеки.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .