• 《面试经典系列》- Java获取反射机制的三种方法


    一、概念

      反射机制,指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对任意一个对象,都能调用它的任意一个方法。这种动态获取信息,以及动态调用对象方法的功能,叫做java语言的反射机制。

    二、应用

      生成动态代理,面向切面编程(在调用方法的前后各加栈帧)。

    三、原理

    1. 首先要明确一个概念:一切皆对象 --- 类也是对象。
    2. 然后明白类中的内容:modifier constructor field method。
    3. 最后要明白类的加载:当Animal.class 在硬盘中时,是一个文件,当载入到内存中,可以认为是一个对象,是 java.lang.class 的对象。

    四、获取反射常使用的3种方式

    1. 通过 new 对象实现反射机制;
    2. 通过路径实现反射机制;
    3. 通过类名实现反射机制。
    • 通过 Object 类的 getClass 方法来获取;
    • 使用 .class 的方式;
    • 使用 Class.forName 方法;

      如下举例:

     1 public class Test {
     2 
     3     public static void main(String[] args) throws ClassNotFoundException {
     4 
     5         //获取反射机制的3中方式;
     6         
     7         //方法一:通过建立对象;
     8         User user = new User();
     9         Class userClass1 = user.getClass();
    10         System.out.println(userClass1.getName());
    11 
    12         //方法二:通过所在路径(相对路径);
    13         Class userClass2 = Class.forName("fanShe.User");
    14         System.out.println(userClass2.getName());
    15 
    16         //方法三:通过类名;
    17         Class userClass3 = User.class;
    18         System.out.println(userClass3.getName());
    19     }
    20 }

    五、总结

      以上就是java获取反射机制的三种方法,希望对大家有用。

  • 相关阅读:
    3D Computer Grapihcs Using OpenGL
    转:认识MyBean
    转:MyBean的安装
    转:MyBean简介
    Delphi常用关键字用法详解
    红鱼儿
    uniGUI-shuiying
    转:RTC搭建android下三层应用程序访问服务器MsSql-客户端
    转:RTC搭建android下三层应用程序访问服务器MsSql-服务器端
    转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON
  • 原文地址:https://www.cnblogs.com/qiuhaitang/p/12563368.html
Copyright © 2020-2023  润新知