码迷,mamicode.com
首页 > 其他好文 > 详细

Reflection01_获取Class对象

时间:2016-04-23 16:30:56      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

1、java 代码:

package reflectionZ;

public class TreflectionZ
{
    public static void main(String[] args) throws ClassNotFoundException
    {
        // 得到 Cat的 Class对象
        // 1、通过 forName
        Class<?> clazz1 = Class.forName("reflectionZ.Cat"); // ZC: 会报异常"ClassNotFoundException"
        System.out.println("clazz1 : "+clazz1+" , "+clazz1.hashCode());
        // 2、通过 class属性
        Class<?> clazz2 = Cat.class;
        System.out.println("clazz2 : "+clazz2+" , "+clazz2.hashCode());
        // 3、通过 对象实例.getClass()
        Cat cat = new Cat();
        Class<?> clazz3 = cat.getClass();
        System.out.println("clazz3 : "+clazz3+" , "+clazz3.hashCode());
        
        System.out.println("*** *** ***");
        if (clazz1 == clazz2)
            System.out.println("clazz1 == clazz2");
        else
            System.out.println("clazz1 != clazz2");
        if (clazz1 == clazz3)
            System.out.println("clazz1 == clazz3");
        else
            System.out.println("clazz1 != clazz3");
        if (clazz2 == clazz3)
            System.out.println("clazz2 == clazz3");
        else
            System.out.println("clazz2 != clazz3");
        // ZC: 上面三个判断 都是相等,可见 java中的对象的比较,比较的是 变量所指向的对象   而非变量本身 ... ! ! !
    }
}

class Cat
{}

 

2、控制台 输出:

clazz1 : class reflectionZ.Cat , 8152936
clazz2 : class reflectionZ.Cat , 8152936
clazz3 : class reflectionZ.Cat , 8152936
*** *** ***
clazz1 == clazz2
clazz1 == clazz3
clazz2 == clazz3

 

3、

 

Reflection01_获取Class对象

标签:

原文地址:http://www.cnblogs.com/javaskill/p/5424741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!