Groovy程序main方法调用实例方法报错,程序结构问题求助
问题分析与解决
错误原因
你遇到的MissingMethodException核心问题是静态方法无法直接调用实例方法:
main是静态方法,它属于myclass类本身,而非类的具体对象实例mymethod是实例方法,必须依托myclass的对象实例才能调用
修正后的代码
package mypackage class myclass { def myvar def mymethod() { myvar = "here" println "i am ${myvar}" } def static main(args) { // 先创建类的实例对象 def instance = new myclass() // 通过实例调用实例方法 instance.mymethod() println "hello " } }
补充说明
- 实例方法(如
mymethod)可以访问实例变量(如myvar),因为它们绑定到具体的对象实例 - 静态方法(如
main)属于类层面,只能直接访问静态成员,若要调用实例方法或访问实例变量,必须先创建类的实例对象
内容的提问来源于stack exchange,提问作者H. Dog
相关产品推荐
相关产品推荐

