
package JavaReflcet;
import org.junit.Test;
public class ClassTest {
    /*
    获取Class的实例的方式
     */
    @Test
    public void test1() throws ClassNotFoundException {
//        方式一:调用运行时类的属性: .class
        Class clazz = person.class;
        System.out.println(clazz);
//        方式2:通过运行时类的对象
        person p1 = new person();
        Class<? extends person> clazz2 = p1.getClass();
        System.out.println(clazz2);
//        方式3:调用Class的静态方法:forName(String classPath)
        Class clazz3 =Class.forName("JavaReflcet.person");
        System.out.println(clazz3);
//        方式4:使用类的加载器:ClassLoader
        ClassLoader classLoader = ReflactionTest.class.getClassLoader();
        Class<?> clazz4 = classLoader.loadClass("JavaReflcet.person");
        System.out.println(clazz4);
    }
}
person的运行时类可以看作单例:
clazz == clazz2 //true
clazz2== clazz3 //true










