您的位置:首页 > 其它

如何处理动态编译时文本的返回值问题

2016-08-18 15:15 239 查看
       最近遇到动态编译时怎样处理动态返回值的问题。


   如上所示是一个动态编译的代码片段,在动态执行时如何解决return返回的语句,也就是sum和sub的返回值?
   1、动态编译时有多种方法获取动态执行代码的类实例,此处使用的是java中的反射机制。代码如下:
   


  其中clsName就是你动态编译代码中的类名,此处clsName=Hello。此时就会生成我们需要类的对象实例,也就是此时生成了Hello的实例,因此可以利用此实例对类Hello进行操作。
  2、如何处理Hello类的函数返回值呢?
       此处要用到java.lang.reflect包(反射机制)中的Method函数。


     创建Method对象并取得动态编译代码Hello类的相应函数,以及传入参数(如果类中的函数需要)。然后调用Method中的invoke函数返回需要的值。
    到此就实现了在动态编译时处理返回值得处理。如何实现动态编译,网上有很多文章,大家可以去搜索了

.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: