如何将 main 方法移动到 Scala 中的另一个类?
IntelliJ IDEA 10.5(可能这很重要)。
我是 Scala 的新手,所以我以一种尴尬的方式开始。我创建了一个包含两个类的文件——空的 MainApp 和另一个类 HelloWorld,其中包含 main 方法。
我编译并执行了它——IntelliJ 自动检测 HelloWorld 作为主类。没关系。
然后,我将 main 方法移至 MainApp,并删除(然后为空)HelloWorld 类。当我尝试运行它时,IntelliJ 还是坚持使用 HelloWorld。所以我重新配置了项目并选择 MainApp 作为主类。
我尝试运行它并得到这样的结果:
MainApp主方法应该是静态的
我完全困惑。首先,Scala 没有静态方法。其次,为什么它现在不编译,而之前编译时(使用 HelloWorld 类)。我认为唯一的要求就是有一个主要方法。
预先感谢您的帮助。
请注意:我知道我可以从头开始一个新项目来完全避免这个问题,但我想学习一些东西,即了解发生了什么,并修复这个项目.
IntelliJ IDEA 10.5 (probably this matters).
I am new to Scala, so I started in an akward way. I created one file with two classes -- empty MainApp and another class, HelloWorld with method main.
I compiled it and executed -- IntelliJ automatically detected HelloWorld as main class. It was OK.
Then, I moved main method to MainApp, and deleted (then empty) HelloWorld class. When I tried to run it, IntelliJ sticked to HelloWorld nevertheless. So I reconfigured project and selected MainApp as main class.
I tried to run it with such result:
MainApp main method should be static
I am completely puzzled. First of all, Scala does not have static methods. Second of all, why it does not compile now, when it compiled before (with HelloWorld class). I though that only requirement is having one main method.
Thank you in advance for your help.
Please note: I know I can start a new project from scratch to avoid the problem altogether, but I would like to learn something, i.e. get to know what is going on, and fixing this project.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Java 中的静态方法大致对应于 Scala 中的单例方法。您应该
在代码中使用,而不是
class MainApp
。static methods in Java roughly correspond to singleton methods in Scala. You should have
in your code, not
class MainApp
.