1. 获取Class实例的三种常见方式
Class clazz = String.Class;
Class clazz = person.getClass();
Class clazz = Class.forName(String classPath); // 体现反射的动态性
2.谈谈你对Class类的理解
Class实例对应着加载到内存中的一个运行时类。
3. 创建Class对应运行时类的对象的通用方法,代码实现。以及这样操作 ,需要对应的运行时类构造器方面满足的需求。
Object obj = clazz.newInstance(); // 创建了对应的运行时类的对象
需要对应的运行时类构造器方面满足的需求
- 必须有空参构造器
- 权限修饰符的权限要够,通常修饰为public
4. 如何调用方法show()
类声明如下:
class User{
public void show(){
System.out.println("Hello World");
}
}
调用方法show()
User user = (User)clazz.newInstance();
Method show = clazz.getDeclaredMethod("show");
show.setAccessiable(true);
show.invoke(user);