我试着写一个Groovy程序,但不知道我做错了什么。
package mypackage
class myclass {
def myvar
def mymethod() {
myvar = "here"
println "i am ${myvar}"
}
def static main(args) {
mymethod()
println "hello "
}
}
字符串
在我的例子中,我想我是-
1.声明一个包“mypackage”
1.创建一个类“myclass”
1.创建类变量“myvar”
1.创建一个类方法“mymethod”
1.创建一个类方法“main”,期望在调用时调用它
因此,我希望“main”被调用所有我的命令行参数。它将调用“mymethod”,这将更新类变量“myvar”,然后打印一个GString插值“myvar”。然后控制将返回到“main”,此时它将打印“hello”。
但这一切都没有发生。相反,当我试图执行它时,
$ groovy myclass
Caught: groovy.lang.MissingMethodException: No signature of method: static mypackage.myclass.mymethod() is applicable for argument types: () values: []
Possible solutions: mymethod()
groovy.lang.MissingMethodException: No signature of method: static mypackage.myclass.mymethod() is applicable for argument types: () values: []
Possible solutions: mymethod()
at mypackage.myclass.main(myclass:7)
型
我认为这是一个通用的程序结构问题。
1条答案
按热度按时间twh00eeo1#
main
方法是静态的,并且确实正在被调用。但是在这个阶段,您没有myclass
的示例,所以不应该期望能够调用示例方法mymethod
。您可以将
myvar
和mymethod
更改为静态,或者将main中的第一行更改为:字符串