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

  • 相关阅读:
    分数拆分
    thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
    iOS_12_tableViewCell的删除更新_红楼梦
    关于0基础磁盘管理(gpt UEFI...)最好的一篇文章(来自gentoo linux)
    HDU 3564 Another LIS splay(水
    jsp表达式
    XML(四)dom4j解析XML
    Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)
    Oracle企业管理框架
    em grid control网格控制
  • 原文地址:https://www.cnblogs.com/qiuhaitang/p/12563368.html
Copyright © 2011-2022 走看看