Java: Class.forName

泠之屋

关注

阅读 77

2022-07-27


一、知识点:
Class.forName方法可以指定3个参数,第一个为类名,第二个为boolean类型的参数,表示是否对加载的类进行初始化,第三个为类加载器
二、例子:
1.定义一个类,在其中使用静态代码块

package com.example;

public class Hi {
static {
System.out.println("static block in hi......");
}
}

2.使用Class.forName方法:

package react;

public class Test {
public static void main(String[] args) throws Exception{
Test t=new Test();
Class.forName("com.example.Hi",true,t.getClass().getClassLoader());
System.out.println("in main......");
}
}

运行程序会输出:

Java: Class.forName_开发语言


如果将代码改为:

package react;

public class Test {
public static void main(String[] args) throws Exception{
Test t=new Test();
Class.forName("com.example.Hi",false,t.getClass().getClassLoader());
System.out.println("in main......");
}
}

运行程序会输出:

Java: Class.forName_加载_02


也就是Class.forName的第二个参数决定所加载的类是否会被初始化


精彩评论(0)

0 0 举报