Подтвердить что ты не робот

Groovy - Размещение основного метода

Вот мой код:

class cat {}
class dog {
    static void main(String[] args) {}
}

Когда скомпилированный groovy говорит, что у меня нет основного метода. Но когда я избавлюсь от класса cat:

class dog {
    static void main(String[] args) {}
}

Действует. Я думал, до тех пор, пока у меня был основной метод в любом классе, код был действительным, но я ошибаюсь. Может кто-нибудь объяснить, почему у меня не может быть более одного класса, когда основной метод находится в одном из классов?

4b9b3361

Ответ 1

У вас может быть несколько классов, но первый класс должен иметь реализацию основного метода. Обычно, когда выполняется script, script выполняется в run().

Если у вас есть определенный класс, тогда имя класса будет использоваться как имя script. Если существует более одного открытого класса, то исполняемая реализация должна быть частью первого определенного класса. Ниже следует работать:

class Dog {
    static void main(String[] args) {
        println "hello"
    }
}
class Cat {}

Вы можете получить четкое изображение при проверке AST в консоли groovy.