public static void main(def args){ // Todo Auto-generated method stub def greeting ='hello' def clos = {param->println "${greeting} ${param}"} clos.call('world') greeting ='Welcome' clos.call('world') demo(clos) } def demo(clo){ def greeting ='Bonjour' clo.call('ken') } hello world Exception in thread "main" groovy.lang.MissingMethodException: No signature of method: static com.cenyol.example.controller.Groovy1.demo() is applicable for argument types: (com.cenyol.example.controller.Groovy1$_main_closure1) values: {com.cenyol.example.controller.Groovy1$_main_closure1@2fcac6db} at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1155)
抛出异常:
No signature of method: static com.cenyol.example.controller.Groovy1.demo()
</pre><pre code_snippet_id="1814346" snippet_file_name="blog_20160807_4_8090775" name="code" class="java">嵌套在groovy中不试用
这样更改代码后没有嵌套:
public class Groovy1{ /** * @param args */ public static void main(def args){ // Todo Auto-generated method stub def greeting ='hello' def clos = {param->println "${greeting} ${param}"} clos.call('world') greeting ='Welcome' clos.call('world') def aa = new test1() aa.demo(clos) } } public class test1{ def demo(clo){ def greeting ='Bonjour' clo.call('ken') } }打印结果:
hello world
Welcome world
Welcome ken
注意是welcome ken
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。