如何从java程序的main方法调用Scala程序的main方法?

假设我在Java项目中有一个Scala类和一个Java类,scala类如下所示

class Sam { def main(args: Array[String]): Unit = { println("Hello") } } 

如何从同一项目中存在的java程序的main方法调用它的main方法

通常,main方法在Java中是static的,在Scala中是在一个object中。 这允许您从命令行运行它们。 您的代码定义了一个class ,而不是一个object

我建议将您的Scala代码更改为:

 object Sam { def main(args: Array[String]): Unit = { println("Hello") } } 

然后,您可以从Java main方法中调用它,如下所示:

 class Foo { public static void main(String[] args) { Sam.main(args); } }