Я использую Intellij
для разработки программы Scala
. Когда нажмите run
, он отображает два приложения: HelloWorld
и HelloWorld$
:
В чем разница между 2-х приложений?
Я использую Intellij
для разработки программы Scala
. Когда нажмите run
, он отображает два приложения: HelloWorld
и HelloWorld$
:
В чем разница между 2-х приложений?
Для jvm
HelloWorld$
является классом singleton HelloWorld
.
Scala генерирует ObjectName$
класс для каждого объекта ObjectName
.
Он также создает статические методы в этом классе, который выглядит следующим образом:
public static void main(String[] args) {
MODULE$.main(args);
}
От java
вы можете либо получить экземпляр объекта ObjectName
используя ObjectName$.MODULE$
статическое поле, или вызывать статические методы прокси-сервера на ObjectName$
.