Scala中的主 – 方法
发布时间:2020-12-16 09:16:38 所属栏目:安全 来源:网络整理
导读:我写了一个 scala类并定义了main()方法.它编译,但是当我运行它,我得到了NoSuchMethodError:main.在所有scala示例中,我已经看到,主要的方法是在对象中定义的.在 Java中,我们定义了一个类中的main方法.是否可以在scala类中定义main(),或者我们是否总是需要一
我写了一个
scala类并定义了main()方法.它编译,但是当我运行它,我得到了NoSuchMethodError:main.在所有scala示例中,我已经看到,主要的方法是在对象中定义的.在
Java中,我们定义了一个类中的main方法.是否可以在scala类中定义main(),或者我们是否总是需要一个对象?
谢谢 解决方法
正如尤金在评论中所说,Scala中没有静态方法.但请注意:
$cat Echo.scala object Echo { def main( args:Array[String] ):Unit = args foreach println } $scalac Echo.scala $javap Echo$.class Compiled from "Echo.scala" public final class Echo${ public static final Echo$MODULE$; public static {}; public void main(java.lang.String[]); } $javap Echo.class Compiled from "Echo.scala" public final class Echo { public static void main(java.lang.String[]); } 请注意,Echo类的类文件(不是Echo $,对象)确实有一个public static void main方法. Scala为对象中定义的方法生成与Java兼容的静态方法. 但是,我认为在Scala程序中创建一个主要方法是时代错误.改用App trait;它更清洁: object Echo extends App { args foreach println } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容