zoukankan      html  css  js  c++  java
  • 《面试经典系列》- 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获取反射机制的三种方法,希望对大家有用。

  • 相关阅读:
    APP移动端开发html模板
    javascript使用百度地图api和html5特性获取浏览器位置
    javascript与jQuery的each,map回调函数参数顺序问题
    fiddler操作改到本地
    做54活动总结
    移动端文字垂直居中问题兼容
    ADO。Net(二)——防止SQL注入攻击
    ADO.Net(一)——增、删、改、查
    面向对象(六)——设计模式和委托
    面向对象(五)——类库和五大原则
  • 原文地址:https://www.cnblogs.com/qiuhaitang/p/12563368.html
Copyright © 2011-2022 走看看