反射获取class的4种方法!

/**
 * およそ神
 */
    @Test
    public void test() throws ClassNotFoundException {
        
//方式一:调用运行时类的属性:.class   
        Class clazz1 = Person.class;  //Person为自定义类
        System.out.println(clazz1);
 
 
       
 //方式二:通过运行时类的对象,调用getClass()
        Person p1 = new Person();
        Class clazz2 = p1.getClass();
        System.out.println(clazz2);
 
        
//方式三:调用Class的静态方法:forName(String classPath)
        Class clazz3 = Class.forName("com.fan.java.Person");
        // clazz3 = Class.forName("java.lang.String");
        System.out.println(clazz3);
 
        System.out.println(clazz1 == clazz2);//true
        System.out.println(clazz1 == clazz3);//true
 
        
//方式四:使用类的加载器:ClassLoader  
        ClassLoader classLoader = ReflectionTest.class.getClassLoader();
        Class clazz4 = classLoader.loadClass("com.fan.java.Person");
        System.out.println(clazz4);
 
        System.out.println(clazz1 == clazz4);//true
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值