我在导入静态类的类中得到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)
所以我的问题是,如果我从静态内部类调用一个方法,那是否超出范围?
答案 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。