Predict output of the following Java program.
| // filename: Test2.java   // main() function of this class uses Test1 which is declared later in // this fileclassTest2 {          publicstaticvoidmain(String[] args) {             Test1 t1 = newTest1();         t1.fun(5);             }}    classTest1 {       voidfun(intx) {        System.out.println("fun() called: x = "+ x);    }} | 
Output:
fun() called: x = 5
The Java program compiles and runs fine. Note that Test1 and fun() are not declared before their use. Unlike C++, we don’t need forward declarations in Java. Identifiers (class and method names) are recognized automatically from source files. Similarly, library methods are directly read from the libraries, and there is no need to create header files with declarations. Java uses naming scheme where package and public class names must follow directory and file names respectively. This naming scheme allows Java compiler to locate library files.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


 
                                    







