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

    1、

    package reflectionZ;
    
    public class TreflectionZ
    {
        public static void main(String[] args) throws ClassNotFoundException
        {
            // 得到 Cat的 Class对象(3种方式)
            // 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、

  • 相关阅读:
    oracle12 安装
    ORACLE重装之后恢复数据库,相当于sqlserver的附加数据库
    git
    P1323 删数游戏(技巧)
    P2486 【SDOI2011】 染色
    P1084 【NOIP 2012】 疫情控制
    前缀、中缀、后缀表达式
    【P1979】 NOIP2013 华容道
    P2601 【ZJOI2009】对称的正方形
    NOIP2015 运输计划
  • 原文地址:https://www.cnblogs.com/javaskill/p/5430171.html
Copyright © 2011-2022 走看看