反射

本文深入讲解Java反射机制的三种获取Class对象的方式,包括通过全限定名、类名和对象获取Class对象,以及如何通过Class对象创建实例、获取方法并执行。示例代码清晰展示反射的使用方法。

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

获取对应的class对象

  • 方式1
Class clazz = Class.forName("全限定名");
  • 方式2
Class clazz = 类名.class;
  • 方式3
Class clazz = 对象.getClass();

通过class对象创建一个实例对象

(类名) clazz.newInstance();

通过class对象获取一个方法

clazz.getMethod("方法名", 参数类型.class);

让方法执行

method.invoke(Object 实例对象, Object ... 参数);

具体代码:

//获取class对象
Class clazz = Class.forName("com.cdf.Demo");

//通过clazz对象创建一个实例
Demo d = (Demo) clazz.newInstance();

//获取有两个参数的add方法
Method m = clazz.getMethod("add", int.class, int.class);

//执行方法,类似于a.add(10, 30);
m.invoke(a, 10, 30);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值