Нужны ли нам форвардные объявления в Java?
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 и многому другому, см. Полный курс подготовки к собеседованию .