Groovy中的MissingMethodException是一个静态类

时间:2016-12-19 22:21:40

标签: java groovy

我在导入静态类的类中得到groovy.lang.MissingMethodException

这是实施。

import Corpus
class InRe {
    Corpus corpus
       corpus.posts().each{
       }
}

class L {
  public static class Corpus{
     public posts(){
     }
  }
}

当我运行我的主课时,它会抛出一个

  

线程中的异常" main" groovy.lang.MissingMethodException:没有   方法签名:

     

edu.msu.mi.forum.replies.InferReplies $ _signatureExtractionByFrequentClosing_closure10.doCall()适用于参数类型:

     

(edu.msu.mi.forum.webmd.WebMdConversation)值:   [edu.msu.mi.forum.webmd.WebMdConversation@fb309]可能的解决方案:    doCall(edu.msu.mi.forum.model.Post),findAll(),findAll(),   isCase(java.lang.Object),isCase(java.lang.Object)

所以我的问题是,如果我从静态内部类调用一个方法,那是否超出范围?

1 个答案:

答案 0 :(得分:3)

你正试图进入语料库课程。

Corpus类是L类中的静态类。

以下代码:

class InRe {
   Corpus corpus
   corpus.posts().each{
   } 
}

应更改为:

class InRe {
   L.Corpus corpus = new L.Corpus()
   corpus.posts().each{
   } 
}

语料库的访问权限不直接,因此您可以使用 L.Corpus 与其进行联系 导入应该与类位置相关,意味着导入应该是

import L
  

一般情况下:使用封闭的类名访问静态嵌套类。

支持上述内容,您可以关注java documentation