我使用 Intellij
开发 Scala
程序。当点击 run
后,会显示两个应用程序:HelloWorld
和 HelloWorld$
:
这两个应用程序有什么区别呢?
我使用 Intellij
开发 Scala
程序。当点击 run
后,会显示两个应用程序:HelloWorld
和 HelloWorld$
:
这两个应用程序有什么区别呢?
对于jvm
, HelloWorld$
是单例HelloWorld
的类。
Scala为每个对象ObjectName
生成ObjectName$
类。
它还在此类中创建了以下形式的静态方法:
public static void main(String[] args) {
MODULE$.main(args);
}
从 java
中,您可以通过使用 ObjectName$.MODULE$
静态字段获取 ObjectName
对象的实例,或者在 ObjectName$
上调用静态代理方法。