• Java高效特性:反射(二)之获取Class对象的四种方式及其区别 (day06)


    运行环境

    JDK8+IntelliJ IDEA 2018.3 x64

    Java有四种方式可以获得Class对象

    1、通过对象名 .getClass() 方法获取。

    2、通过类名 . class方式获得。

    3、通过Class.forName()方法获得。

      4、通过ClassLoader获得。

    代码示例

     1 package com.chenmengfan.demo1;
     2 
     3 /*
     4 * 获取class的四种方式
     5 * */
     6 public class Demo1 {
     7     public static void main(String[] args) {
     8         //new一个对象
     9         Student stu = new Student();
    10 
    11         // .getClass()
    12         Class clzStu1 = stu.getClass();
    13 
    14         // .Class()
    15          Class clzStu2 = Student.class;
    16 
    17         // Class.forName()
    18         Class clzStu3 = null;
    19         try {
    20             clzStu3 = Class.forName("com.chenmengfan.demo1.Student");
    21         } catch (ClassNotFoundException e) {
    22             e.printStackTrace();
    23         }
    24 
    25         // ClassLoader
    26         Class clzStu4 = null;
    27         try {
    28             clzStu4 = ClassLoader.getSystemClassLoader().loadClass("com.chenmengfan.demo1.Student");
    29         } catch (ClassNotFoundException e) {
    30             e.printStackTrace();
    31         }
    32 
    33         //比较
    34         System.out.println(clzStu1 == clzStu2);
    35         System.out.println(clzStu1 == clzStu3);
    36         System.out.println(clzStu1 == clzStu4);
    37         System.out.println(clzStu2 == clzStu3);
    38         System.out.println(clzStu2 == clzStu4);
    39         System.out.println(clzStu3 == clzStu4);
    40 
    41     }
    42 }

    总结

      真正的勇敢,不是从不害怕,而是充分了解困难和风险,选择继续前行;

      是知道人生路上总有艰难坎坷,依然有勇气拥抱生活、笑迎挫折。每一个迎风向前的人,都是自己的英雄。

      

  • 相关阅读:
    iOS开发- 蓝牙后台接收数据(BLE4.0)
    代码优化之减少重复代码-实践
    微信iOS多设备多字体适配方案总结
    iOS微信小视频优化心得
    iOS项目工程及目录结构
    手机淘宝 521 性能优化项目揭秘
    最大连续和
    struts2入门
    Maven环境搭配及继承
    easyui高级控件
  • 原文地址:https://www.cnblogs.com/cmf12/p/13555360.html
Copyright © 2020-2023  润新知