Java中的对象与Scala中的对象之间的区别

Difference between an object in Java versus an object in Scala

我已经开始学习Scala。Java中的对象与斯卡拉中的对象之间有什么区别。根据我的理解,scala中创建的对象是singleton。请给我其他的提示。


在爪哇,Object(大写)是最高类别。所有类扩展Object。原始类型(intlong等)不扩展Object因为它们不是类

在scala中,有一个不同的层次。所有扩展了EDCOX1类5:引用类型扩展EDCOX1×6,值类型扩展EDCOX1×7,不像Java,没有原语。(检查文档:http://docs.scala-lang.org/tutorials/tour/unified-types)

但你在scala中所指的Object是单例的。有一个你想成为单身汉的班级是很常见的。在爪哇,有一种模式来实现这一点(例如HTTP://www. javaWork.com /文章/ 2073352 /核心Java/Simple Stutelon .html),在Scala中,他们创建了EDCOX1×0的关键字作为速记。

也有一个特殊的情况:当有一个EDCOX1,10和一个EDCOX1,0,同一个编译单元中定义了相同的名称时,这个对象被称为一个伴随对象,基本上你可以把它看作是持有Java中的静态方法。

有关此主题的更多信息,请访问http://docs.scala-lang.org/tutorials/tour/singleton-objects.html。


这取决于您如何在scala中创建对象。并不是所有的对象创建都是单例的。

例如:

1
object Shiva { /*some code*/}

将创建一个singleton对象。但是如果你定义一个类,就像你在爪哇做的那样,你可以创建多个实例。