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

Posted

技术标签:

【中文标题】如何将 main 方法移动到 Scala 中的另一个类?【英文标题】:How to move main method to another class in Scala? 【发布时间】:2011-11-17 19:36:46 【问题描述】:

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

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

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

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

我试图以这样的结果运行它:

MainApp 主方法应该是静态的

我完全不解。首先,Scala 没有静态方法。其次,为什么它现在不编译,之前编译时(使用 HelloWorld 类)。我虽然唯一的要求是有一个主要的方法。

提前感谢您的帮助。

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

【问题讨论】:

请贴出MainApp的代码 【参考方案1】:

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

object MainApp 
  def main(args : Array[String]) = ...

在您的代码中,而不是 class MainApp

【讨论】:

以上是关于如何将 main 方法移动到 Scala 中的另一个类?的主要内容,如果未能解决你的问题,请参考以下文章

将行值转换为列,其值来自 spark scala 中的另一列 [重复]

如何使用熊猫将一列移动到除标题之外的另一列[重复]

使用 Scala 将列分配给 Spark Dataframe 中的另一列

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?

在 MySQL 中,如何将一张表的内容复制到同一个数据库中的另一张表中?