Groovy类重写了构造函数,为什么MissingMethodException?

时间:2015-11-02 11:32:51

标签: groovy

我有以下课程:

@groovy.transform.InheritConstructors
class PythonBuild {
    def basePath
    def branchName

    PythonBuild(String basePath, String branchName) {
        // stuff
    }
}

当我实例化它时:

master = PythonBuild('Python-Backend/+MASTER/', 'master')

我收到此错误:

groovy.lang.MissingMethodException: No signature of method:
Script1.PythonBuild() is applicable for argument types:
(java.lang.String, java.lang.String) values: [Python-Backend/+MASTER/, master]

这个错误对我没有意义,因为据我所知,构造函数被定义为接受两个字符串并且我传递两个字符串。

我是Groovy的新手,通过复制示例已经做到了这一点。我究竟做错了什么?

1 个答案:

答案 0 :(得分:2)

在调用构造函数时错过了

new个关键字。

@groovy.transform.InheritConstructors
class PythonBuild {    
    def basePath     
    def branchName     
    def PythonBuild(String basePath, String branchName) { } 
}


def master = new PythonBuild('Python-Backend/+MASTER/', 'master')


println(master)