码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-03-25 01:16:47      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:row   new   面试   语言   总结   相对路径   lan   动态获取   struct   

一、概念

  反射机制,指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对任意一个对象,都能调用它的任意一个方法。这种动态获取信息,以及动态调用对象方法的功能,叫做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获取反射机制的三种方法,希望对大家有用。

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

标签:row   new   面试   语言   总结   相对路径   lan   动态获取   struct   

原文地址:https://www.cnblogs.com/qiuhaitang/p/12563368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!