请教:Robocode里面的动态生成类是怎么做的?

rainy14f 2004-01-08 09:13:51
像robocode那样,可以让用户输入代码,然后按照这个代码生成类,然后可以调用这个类的实例,是怎么做的?
我想调用前总要生成.class文件吧,而且是动态的,它到底是怎么做的呢?
...全文
22 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
warton 2004-01-08
  • 打赏
  • 举报
回复
http://www.kupage.com/webdesign/8/index_1.htm
· 四种动态生成Java代码的方法(二)
· 四种动态生成Java代码的方法(一)
rainy14f 2004-01-08
  • 打赏
  • 举报
回复
好,谢谢楼上二位,我测试一下先!
rongrongGsr 2004-01-08
  • 打赏
  • 举报
回复
哦,上面应该是Class aClass=Class.forName(myGeneratedClassName)写错了,不好意思。
rongrongGsr 2004-01-08
  • 打赏
  • 举报
回复
有一种比较简单的方法就是先把用户输入的java源代码存成一个文件,比如myfile.java,然后在程序中用 Runtime.exec("javac filename.java");来编译文件生成class字节码,随后用Class aClass = Class.forClass(myGeneratedClassName);
myGeneratedClass obj = (GeneratedClass) aClass.newInstance();
来生成对象。(myGeneratedClassName是类名,是一个字符串,myGeneratedClass是要生成的类)
未测试,你可以试一下。
祝好运!
Leemaasn 2004-01-08
  • 打赏
  • 举报
回复
这是
Reflect(反射)
。。。


你上
www-900.ibm.com/developerWorks/cn/java

上找找,
我记得有一系列文章就是专门介绍反射的。
^@^

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧