可以在Java中使用Scala类

时间:2017-07-09 04:33:54

标签: scala

class Wish{
    val s = "Hello! User.  Wish you a Great day."
}

object Wish{
    def main(args: Array[String]){
        val w = new Wish()
        println("Value - " + w.s )
   }
}

可以在Scala中使用Java类。同样,可以在Java中使用Scala类吗?

2 个答案:

答案 0 :(得分:3)

是。如果你想这样做,你可能想要记住一些事情:

  • 不要在方法名称中使用运算符或提供冗长的替代方法。运算符名称可以从Java调用,但是会被破坏成非常难看的东西。
  • Java用户可能期望Java风格的getter和setter。您可以通过向字段添加@BeanProperty注释来自动生成这些注释。
  • 同样,Java用户可能习惯于名为ClassName.of的工厂方法,其中Scala使用.apply。如果您想提供该服务,您必须手动提供。

答案 1 :(得分:2)

是的,可以从Java调用Scala类,反之亦然。

以下文字摘自:Scala FAQs

  

Scala与Java兼容是什么意思?

     

标准的Scala后端是Java VM。 Scala类是Java类,反之亦然。您可以从另一个方法中调用任一种语言的方法。您可以在Scala中扩展Java类,反之亦然。主要限制是某些Scala功能在Java中没有等效项,例如traits。

以下帖子也可能对您有所帮助:how to call Scala from Java