在学习类型信息那个章节的时候,看到了Class.forName()是动态加载类信息,而new是静态加载类信息,在这里,我错误的把new动作理解成了发生在静态编译期。
正确的理解:编译期大部分是检查语法,我们需要new动作所需要的类信息,完成new动作就要获得相关的类信息,这些类信息是编译期获得的,即静态加载类信息,然而我们的new动作(即真正分配内存的动作)是发生在运行时的。
在学习类型信息那个章节的时候,看到了Class.forName()是动态加载类信息,而new是静态加载类信息,在这里,我错误的把new动作理解成了发生在静态编译期。
正确的理解:编译期大部分是检查语法,我们需要new动作所需要的类信息,完成new动作就要获得相关的类信息,这些类信息是编译期获得的,即静态加载类信息,然而我们的new动作(即真正分配内存的动作)是发生在运行时的。