在java中,为什么在声明代码之前我们在代码中使用类并不重要?

Asm*_*fri -1 java oop

在Java中,通常在上面编写主要方法(或者至少我这样做),并且在这些方法中,即使在下面声明它们各自的类,也会创建对象.为什么不会导致编译错误?我知道java不是程序性的,但我从来没有找到答案.

public static void main (String[] args)
{
    baby1 obj1 = new baby1();
    baby2 obj2 = new baby2();
}

class baby1 
 {
    //some code
 }
class baby2
 {
   //some code
 }
Run Code Online (Sandbox Code Playgroud)

小智 6

Java使用多个传递进行名称解析.第一个传递是"定义传递",它扫描源程序并在表中存储,字段方法.在下一个传递("解析通过")中,如果遇到类,它将在上一个传递中创建的表中查找该类.如果该类在那里,它会继续,否则会抛出错误.

但是,本地变量声明不会发生这种情况.在声明之前,您不能使用局部变量.