Class.forName(“包名.类名”)
测试类:
package com.reflection.test;
public class Demo {
public static void main(String[] args) {
try {
//获得的是Student类对应的Class类实例
Class clazz = Class.forName("com.reflection.test.Student");
System.out.println(clazz);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
运行结果如下:
类名.class
测试类:
package com.reflection.test;
public class Demo {
public static void main(String[] args) {
//获得的是Student类对应的Class类实例
Class clazz = Student.class;
System.out.println(clazz);
}
}
运行结果如下:
实例化对象.getClass()
测试类:
package com.reflection.test;
public class Demo {
public static void main(String[] args) {
//获得的是Student类对应的Class类实例
Class clazz = new Student().getClass();
System.out.println(clazz);
}
}
运行结果如下:
基本数据类型包装类.TYPE/基本数据类型.class/基本数据类型包装类.class
测试类:
package com.reflection.test;
public class Demo {
public static void main(String[] args) {
//获取的是基本数据类型对应的Class类实例
Class clazz = Integer.TYPE;
System.out.println(clazz);
//获取的是基本数据类型对应的Class类实例
clazz = int.class;
System.out.println(clazz);
//获取的是基本数据类型包装类对应的Class类实例
clazz = Integer.class;
System.out.println(clazz);
}
}
运行结果如下:
元素类型[].class
测试类:
package com.reflection.test;
public class Demo {
public static void main(String[] args) {
//获取的是String数组对应的Class类实例
Class clazz = String[].class;
System.out.println(clazz);
}
}
运行结果如下:
Class类实例化对象.getSuperclass()
测试类:
package com.reflection.test;
public class Demo {
public static void main(String[] args) {
//获取的是Student类的父类对应的Class类实例
Class clazz = Student.class.getSuperclass();
System.out.println(clazz);
}
}
运行结果如下: