“app”和“app$”在Intellij中有什么区别?

3

我使用 Intellij 开发 Scala 程序。当点击 run 后,会显示两个应用程序:HelloWorldHelloWorld$
enter image description here

这两个应用程序有什么区别呢?

1个回答

4

对于jvm, HelloWorld$是单例HelloWorld的类。

Scala为每个对象ObjectName生成ObjectName$类。

它还在此类中创建了以下形式的静态方法:

public static void main(String[] args) {
  MODULE$.main(args);
}

java 中,您可以通过使用 ObjectName$.MODULE$ 静态字段获取 ObjectName 对象的实例,或者在 ObjectName$ 上调用静态代理方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接