zoukankan      html  css  js  c++  java
  • Reflection01_获取Class对象

    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、

  • 相关阅读:
    vc枚举本机端口信息API
    xmpp 与服务器连接并身份验证成功
    xmpp 常见错误 一
    xmpp 环境配置
    使用宏定义创建单例
    iOS知识列表
    ios sqlite 简单使用
    关于游戏
    开通博客园博客的第一天
    如何让移动设备的宽与浏览器视图的宽保持一致
  • 原文地址:https://www.cnblogs.com/javaskill/p/5424741.html
Copyright © 2011-2022 走看看