Groovy类重写了构造函数,为什么缺少MethodException?
我有以下课程:Groovy类重写了构造函数,为什么缺少MethodException?,groovy,Groovy,我有以下课程: @groovy.transform.InheritConstructors class PythonBuild { def basePath def branchName PythonBuild(String basePath, String branchName) { // stuff } } 当我实例化它时: master = PythonBuild('Python-Backend/+MASTER/', 'master')
@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新手,通过复制示例,我做到了这一点。我做错了什么
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)
似乎
Newify
不是继承的。你能检查一下吗?用Newify
注释PythonBuild
?在启动新类master=newpythonbuild('Python-Backend/+master/','master')时,不应该用关键字new
来注释PythonBuild
,'master')
@mst是正确的,在尝试调用构造函数时,您只是缺少PythonBuild
前面的新的。。。投票以简单的排版方式结束这篇文章error@tim_yates,这真的是打字错误还是Newify
的案例?@tim_-yates这不是印刷错误,我不知道关键字是必需的。老实说,Groovy的错误消息并没有太大帮助。。。虽然我想我现在明白了,is正在寻找一个静态方法来调用,而不是构造函数(?)