获取Class实例的四种方式

    技术2022-07-10  161

    类的加载过程

    程序在经过javac.exe命令后会生成一个或多个字节码文件(.class结尾的文件),接着使用java.exe命令对字节码文件进行解释运行,这时候就把字节码文件加载到内存中。加载到内存中的类成为运行时类,运行时类是Class的实例。

    @Test public void test() throws ClassNotFoundException { //方式1:调用运行时类的属性 .class Class cla1 = person.class; System.out.println(cla1); //方式二:通过运行时类的对象,调用getClass()方法 person p = new person(); Class cla2 = p.getClass(); System.out.println(cla2); //方式三:调用Class的静态方法 forName(String classPath) Class cla3 = Class.forName("com.reflection.person"); System.out.println(cla3); //方式四:通过类的加载器 ClassLoader classLoader = reflectionTest.class.getClassLoader(); Class cla4 = classLoader.loadClass("com.reflection.person"); System.out.println(cla4); System.out.println(cla1 == cla2); System.out.println(cla1 == cla3); System.out.println(cla1 == cla4); //运行结果 //true //true //true //说明是同一个运行时类 }
    Processed: 0.014, SQL: 9