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

java反射机制

时间:2017-12-10 21:28:56      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:运行   私有   动态调用   question   活性   反射机制   www.   应该   生成   

什么是反射

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
一般情况我们new一个对象创建一个对象;使用了反射,我们可以通过一个对象找到一个类的信息。这就大大增强了操作类和对象的灵活性。
另外提一句,Spring框架之所以这么灵活,就是使用了反射。

反射有何用

  • 在运行时判断任意一个对象所属的类;
  • 在运行时构造任意一个类的对象;
  • 在运行时判断任意一个类所具有的成员变量和方法;
  • 在运行时调用任意一个对象的方法;
  • 生成动态代理。

反射为什么能够这么强大

反射的常用类和函数:Java反射机制的实现要借助于4个类:Class,Constructor,Field,Method。
其中class代表的是类对象,Constructor-类的构造器对象,Field-类的属性对象,Method-类的方法对象,通过这四个对象我们可以粗略的看到一个类的各个组成部分。其中最核心的就是Class类,它是实现反射的基础。

反射API

链接: https://pan.baidu.com/s/1gfaUCin 密码: 9pqq

应用

  • 工厂模式
  • 动态代理

反射难道就没有缺陷吗

虽然反射很强大,但是反射会破坏Java类的封装,比如会直接获取到私有成员属性。但瑕不掩瑜。

参考

java反射机制

标签:运行   私有   动态调用   question   活性   反射机制   www.   应该   生成   

原文地址:http://www.cnblogs.com/helloIT/p/8018006.html

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