• 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、

  • 相关阅读:
    CSS面试题总结
    HTML面试题总结
    JS中如何删除某个元素下的所有子元素(节点)?
    JS apply() call() bind()方法的使用
    JS小游戏--贪吃蛇
    Tensorflow——tf.train.exponential_decay函数(指数衰减法)
    自定义属性
    JS中兼容代码总结---更新中
    测试flex的各种属性
    添加网络打印机_批处理文件
  • 原文地址:https://www.cnblogs.com/javaskill/p/5424741.html
Copyright © 2020-2023  润新知