" app"有什么区别?和" app $"在Intellij?

时间:2015-05-29 07:54:02

标签: scala intellij-idea

我正在使用Intellij开发Scala计划。点击run后,它会显示两个应用:HelloWorldHelloWorld$
enter image description here

两个申请有什么区别?

1 个答案:

答案 0 :(得分:4)

jvm HelloWorld$是单身HelloWorld的类。

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

它还会在此类中创建如下所示的静态方法:

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

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