java的自省机制_深入理解Java反射机制

前言

最近在接触 Android 的组件化原理的时候,发现自己对 Java 反射的机制理解并不是很深,只能利用周末的时间把 Java 反射机制回炉重铸。

什么是Java反射

反射机制是 Java 语言提供的一种基础功能,赋予了 Java 程序在运行时的自省(introspect,官方用语)的能力。通过 Java 的反射机制,程序员可以在 Java 程序在运行态的时候操作任意的类或者对象的属性、方法。利用 Java 的反射机制,可以做到以下:

在程序的运行态可以获取对象所属的类;

在程序的运行态可以构造类的对象实例;

在程序的运行时可以获取,或者修改类的成员属性;

在程序的运行态可以调用某个类,或者对象的方法;

在程序的运行态可以获取类的其他信息,比如描述修饰符、父类信息等;

对文中的"自省"的理解:"自省"应该仅指程序在运行时对自身信息(元数据)的检测,而反射机制不仅仅需要在运行时对程序的自身数据进行检测,还需要根据检测到的数据修改程序的状态或者方法。

用于操作反射的相关的 5 个类:

java.lang.Class:代表类;

java.lang.reflect.Constructor:代表类的构造方法;

java.lang.reflect.Field:代表类的属性;

java.lang.reflect.Method:代表类的方法;

java.lang.reflect.Modifier:代表类、方法、属性的修饰符&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值