如何将 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 中,如何将一张表的内容复制到同一个数据库中的另一张表中?