📜  我们需要Java中的前向声明吗?

📅  最后修改于: 2022-05-13 01:55:22.591000             🧑  作者: Mango

我们需要Java中的前向声明吗?

预测以下Java程序的输出。

// 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() called: x = 5

Java程序编译并运行良好。请注意, Test1fun()在使用前未声明。与 C++ 不同,我们不需要Java中的前向声明。标识符(类和方法名)会自动从源文件中识别。同样,库方法直接从库中读取,不需要创建带有声明的头文件。 Java使用命名方案,其中包名和公共类名必须分别遵循目录名和文件名。此命名方案允许Java编译器定位库文件。