获取Class实例的4种方式

 代码:

package com.it.test;

import org.junit.Test;

public class Test01 {

    @Test
    public void test01() throws ClassNotFoundException {
        //方式1:最常用,很多框架会用到,比如spring、mybatis等
        Class clazz01 = Class.forName("java.lang.String");
        //方式2
        Class clazz02 = new String().getClass();
        //方式3
        Class clazz03 = String.class;

        //方式4:通过类加载器获取
        //4.1 先获取本类的类加载器(应用类加载器(System classLoader))
        ClassLoader classLoader = Test01.class.getClassLoader();
        //4.2 再通过4.1种本类的类加载器,去获取java.lang.String的Class实例
        Class<?> clazz04 = classLoader.loadClass("java.lang.String");

        System.out.println(clazz01 == clazz02);
        System.out.println(clazz02 == clazz03);
        System.out.println(clazz01 == clazz04);
        System.out.println(clazz01);
    }
}

输出:

 

true
true
true
class java.lang.String

 

posted @ 2020-09-02 19:46  cookiewu  阅读(213)  评论(0编辑  收藏  举报