什么是反射机制

定义:在 编译时候不知道加载的是哪个类,在 运行时可以动态的获取类的属性调用对象的方法的机制就叫做反射。 
反射使Java这种 静态编译型的语言具有了动态性。
反射具有看透类的能力,类的信息在反射面前都是透明的(包括private的属性和方法都是可以调用)
Java反射机制主要提供一下功能:
1、在运行时判断任意一个对象所属的类。
2、在运行时构造任意一个类的对象。
3、在运行时判断任意一个类所具有的成员变量和方法。
4、在运行时调用任意一个对象的方法。

反射使我们在编译的时候知道类型,而是延迟到运行时获得对象的属性调用对象的方法,是的java具有动态性。

Hibernate、Sping、MyBatis都是基于反射来实现的,可以说没有反射就没有这些框架。

 

Class是描述类的类的类型,那类结构里面包含哪些东西呢: Field、Constructor、Method,同样这些众多的属性、构造函数、方法也有对应的类类型表示他们。

Java.lang.Class;

Java.lang.reflect.Field;

Java.lang.reflect.Method;

Java.lang.reflect.Constructor;

Class Field Method Constructor 就分别是类、属性、方法、构造函数的模子。
通过 Class 可以获得类的所有属性Field[]、方法Method[]、构造方法Constructor[]信息。
通过 Field 可以获得属性的名字、类型、修饰符
通过 Method 可以获得方法的名字、参数、返回值。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值