zoukankan      html  css  js  c++  java
  • 2-1-2-06 获取class对象的三种方式

    获取class对象的方式:

      1.Class.forName("全类名"):将字节码文件加载进内存,返回Class文件对象(在Source源代码阶段的调用)

      2.类名.class:通过类名的属性class获取(在Class类对象阶段的调用)

      3.对象名.getClass():getClass()方法是Object类中的方法(在Runtime运行阶段的调用)

    //1.Class.forName("全类名");
            Class aClass = Class.forName("reflect.ReflectEntity2");
            System.out.println(aClass);
    
            //2.类名.Class;
            Class reflectEntity2Class = ReflectEntity2.class;
            System.out.println(reflectEntity2Class);
    
            //3.对象.getClass();
            ReflectEntity2 reflectEntity2 = new ReflectEntity2();
            Class aClass1 = reflectEntity2.getClass();
            System.out.println(aClass1);
    
            //比较三者地址值是否相同
            System.out.println(aClass==reflectEntity2Class);//true
            System.out.println(aClass==aClass1);//true
            System.out.println(reflectEntity2Class==aClass1);//true

    输出结果:

     结论:

      同一个字节码文件(*.class)在一次程序运行的过程中只会被加载一次,不论哪种方式获取的对象都是同一个

  • 相关阅读:
    Python生成器
    Python迭代器
    模块
    列表推倒式
    内置函数 lambda表达式
    函数
    global、nonlocal、迭代器
    练习
    编码数组字典
    字典
  • 原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/13340463.html
Copyright © 2011-2022 走看看