发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

[紧急求救]关于动态创建对象的问题

lsj
2003-03-16 00:50
赞助商链接

Class c1 = Class.forname(classname);
Object ob = c1.newInstance();
这种方法只能创建有无参数构造函数的类的实例,但我的类只有带参数的构造函数(得由运行时传入对象参数),所以无法用这种方式

显然,这里应该用到reflect机制,可我就是看不明白javadoc该如何去做,请各位帮帮忙~~~~~~~~~

2003-03-17 21:31

你使用setXXX传入参数可以吗?

2003-03-18 03:32

Class c1
try {
parameterTypes = new Class[4];
args = new Object[4];
parameterTypes[2] = Class.forName("Class1"); //$NON-NLS-1$

parameterTypes[1] = parameterTypes[2];
parameterTypes[0] = Class.forName("java.lang.String"); //$NON-NLS-1$
parameterTypes[3] = Class.forName("AnotherClass"); //$NON-NLS-1$

cs = boClass.getConstructor( parameterTypes ); //$NON-NLS-1$
// filter, sorter, session
args[0] = boName;
args[1] = filter;
args[2]= sorter;
args[3]= aSession;
cs.newInstance( args );

}

lsj
2003-03-18 11:57

我的应急办法是用了setXXX方法,虽然是在抽象类中,但总觉得封装得不太好。
谢谢Jevang!

2003-03-18 21:24

Jevang能稍微就你的例子讲解一下的你如何动态创建对象并且传递参数?

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com