1.写出获取Class实例的三种常见方式

    ①Class clazz1 = String.class; //用的不多,写死了,不能提现动态性
    ②Class clazz2 = person.getClass();
    ③Class clazz3 = Class.forName(String classPath); //体现反射的动态性,用的最多

    2.谈谈你对Class类的理解
    Class实例对应着加载到内存中的一个运行时类。

    3.创建Class对应运行时类的对象的通用方法,代码实现。以及这样操作,需要对应
    的运行时类构造器方面满足的要求。

    Object obj = clazz.newInstance(); //创建了对应的运行时类的对象
    ①必须有空参的构造器
    ②权限修饰符的权限要够。通常设置为public

    4.如何调用方法show()
    类声明如下:
    class User{
    public void show(){
    System.out.println(“我是一个中国人!”);
    }}

    Class clazz = User.class;
    Method show = clazz.getDeclaredMethod(“show”);
    show.setAccessible(true);
    show.invoke(user);

    5.总结:创建类的对象的方式?\
    方式一: new + 构造器
    方式二:要创建Xxx类的对象,可以考虑:Xxx、Xxxs、XxxFactory、XxxBuilder类
    中是否有静态方法的存在。可以调用其静态方法,创建XXX对象。
    方式三:通过反射