背景
反射是java中常用的语法结构,在很多场景中都用的到,反射的前提条件是要能获取到class对象,以下大概是获取class对象的三种常见方式:
场景一:
这是最简单的场景,即在开发期就已经知道需要反射的类型,可以直接使用类名.class方式获取:
public static void main(String[] args) {
//方式一
Class clazz1 = String.class;
}
场景二:
需要反射的对象是存在配置文件或数据库中的,开发区无法确认或者是动态的,可以使用以下方式来获取:
public static void main(String[] args) throws ClassNotFoundException {
//方式二
Class clazz2 = Class.forName("java.lang.String");
}
场景三:
需要反射的对象是通过方法参数又其他方法传参过来的,是一个运行期的实例,可以通过以下方式获取:
public static void main(String[] args) {
//方式三
String str = "";
Class clazz3 = "".getClass();
}