栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在运行时使用反射实例化未知类的对象的正确方法是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在运行时使用反射实例化未知类的对象的正确方法是什么?

您将

Class.getConstructor(Class<?>...parameterTypes)
用来获取对构造函数的引用,后跟
Constructor.newInstance(Object... initargs)

但是,我建议您看一下诸如Spring或Guice之类的依赖项注入框架,因为听起来您正在创建的是它们所做工作的基本版本。

根据要求扩展此答案:

Class c = Class.forName(name);Constructor ctor = c.getConstructor(Integer.class, Integer.class);Integer param1 = hm.get("xPos") ...;Integer param2 = hm.get("yPos") ...;Object instanceOfTheClass = ctor.newInstance(param1, param2);

当然

param1
param2
您可以根据输入文件中的内容(而不是)创建一个参数数组(的参数也是如此
getConstructor()
),等等。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570031.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号