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获取反射机制的三种方法,希望对大家有用。

  • 相关阅读:
    模块
    python运算符与表达式
    subShell与代码块
    参数展开与特殊字符
    变量和参数
    shelll Test
    Cypher查询语言--Neo4j 入门 (一)
    那些争议最大的编程观点
    大型网站架构不得不考虑的10个问题
    大型网站架构演变
  • 原文地址:https://www.cnblogs.com/qiuhaitang/p/12563368.html
Copyright © 2011-2022 走看看