1.按参数中指定的字符串形式的类名去搜索加载相应的类,如果该字节码已经背加载过则返回该类字节码的实例对象,否则,按类的委托机制去搜索加载相应的类,如果所有的类 加载器都无法加载该类,则抛出ClassNotFoundException异常。加载完这个Class字节码之后就可以调用newInstance()方法去创建该类的实例对象。
2.为什么用?
有时候,具体的类名在设计开发阶段无法确定,只有程序运行时才能确定,这时候就需要Class.forName()去动态加载该类,这个类名通常是在配置文件中配置的,例如:
①Spring的IOC每次依赖注入的具体类就是这样配置的。
②JDBC的驱动类名通常也是通过配置文件来配置的。