Java反射,根据类名创建带参数的实例

本文介绍如何使用Java反射机制根据类名创建实例,并通过接口强制转换来调用方法。涉及Class对象获取、构造函数调用及实例化过程。

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

//根据类名获取Class对象
  Class c=Class.forName("java.lang.Integer"); 
//参数类型数组
  Class[] parameterTypes=...{String.class};
//根据参数类型获取相应的构造函数
  java.lang.reflect.Constructor constructor=c.getConstructor(parameterTypes);
//参数数组
  Object[] parameters=...{"1"};
//根据获取的构造函数和参数,创建实例
  Object o=constructor.newInstance(parameters);


Java 反射 根据类名创建类实例

创建的这个类的需要继承一个接口(Interface) ,因为获取了实例需要强制转换成某一个借口的实例才可以调用其中的方法。

创建一个Class类的引用,调用Class类的静态方法forName(String),参数为类的绝对路径(包含包路径如:org.test.GetClass)。

        Class onwClass = Class.forName("org.test.GetClass");

现在我们有了一个Class类的实例了。下面就是获取一个Object类的实例对象。

        Object o = onwClass.newInstance();

现在我们已经有了一个Object对象,下一步就可以对这个Object进行强制转换了。

假如org.test.GetClass 继承一个叫GetInterface的接口。我们就可以把这个object对象强制转换成这个接口,然后就可以调用其中的方法了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值