Groovy - 主要方法放置

use*_*310 13 java groovy class object

这是我的代码:

class cat {}
class dog {
    static void main(String[] args) {}
}
Run Code Online (Sandbox Code Playgroud)

当编译groovy说我没有主要方法.但是当我摆脱猫类时:

class dog {
    static void main(String[] args) {}
}
Run Code Online (Sandbox Code Playgroud)

它的有效期.我想,只要我在任何类中使用main方法代码都是有效的,但我错了.有人解释为什么当main方法驻留在其中一个类中时,我不能拥有多个类吗?

dma*_*tro 20

您可以拥有多个类,但首先定义的类必须具有main方法实现.通常,当作为脚本运行时,脚本将在run()方法中执行.

如果您定义了类,则将该类的名称用作脚本的名称.如果有多个公共类,则runnable实现必须是第一个定义的类的一部分.下面应该工作:

class Dog {
    static void main(String[] args) {
        println "hello"
    }
}
class Cat {}
Run Code Online (Sandbox Code Playgroud)

在groovy控制台中检查AST时,您可以获得清晰的图像.