如何将主方法移动到Scala中的另一个类?

时间:2011-09-15 11:45:22

标签: scala compilation intellij-idea main

IntelliJ IDEA 10.5(可能这很重要)。

我是Scala的新手,所以我开始以一种尴尬的方式开始。我创建了一个包含两个类的文件 - 空的MainApp和另一个类,HelloWorld和方法main。

我编译并执行 - IntelliJ自动检测到HelloWorld为主类。没关系。

然后,我将main方法移动到MainApp,并删除(然后清空)HelloWorld类。当我试图运行它时,IntelliJ仍然坚持使用HelloWorld。所以我重新配置了项目并选择了MainApp作为主类。

我尝试用这样的结果运行它:

  

MainApp主要方法应该是静态的

我完全不解。首先,Scala没有静态方法。第二,为什么它现在不编译,之前编译(使用HelloWorld类)。我虽然只要求有一种主要方法。

提前感谢您的帮助。

请注意:我知道我可以从头开始一个新项目以完全避免这个问题,但我想学点东西,即了解发生了什么,并修复这个项目。

1 个答案:

答案 0 :(得分:11)

Java中的

静态方法大致对应于Scala中的单例方法。你应该

object MainApp {
  def main(args : Array[String]) = ...
}
代码中的

,而不是class MainApp