反射用到了哪些接口,哪些类?反射机制中可以获取private成员的值吗?

本文深入解析Java反射机制,介绍如何在运行时动态获取类的信息,包括属性和方法,并调用对象的任意方法。探讨反射机制在类解剖、获取private成员、运行配置文件和越过泛型检查等场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.

以上的总结就是什么是反射
反射就是把java类中的各种成分映射成一个个的Java对象

接口和类:

类:

  • Class(Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的defineClass 方法自动构造的)
  • Constructor(反射获取各个构造器)
  • Field(反射获取成员属性)
  • Method(反射获取成员方法)
    接口:
  • Serializable、GenericDeclaration、Type、AnnotationElement

反射机制中可以获取private成员的值,但是要通过设置(setAccessible(true))进行暴力反射,解除权限。

反射的其他作用:
反射Main方法(虽然看上去没啥必要)
通过反射运行配置文件内容
通过反射越过泛型检查(泛型用在编译期,编译过后泛型擦除(消失掉)。所以是可以通过反射越过泛型检查的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pHscccr_Ayyx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值