为什么在scala中我们需要定义类结构来创建同一个类的新对象

时间:2017-09-12 10:01:08

标签: scala

class ReadHelper{}
object ReadHelper {}

class MainApp{
   val rHelp = ReadHelper//This line will be uneasy if I omit class declaration of ReadHelper
}

1 个答案:

答案 0 :(得分:3)

  

为什么在scala中我们需要定义类结构来创建新的对象   同一个班级?

实际上我们没有。

class ReadHelper{}

class MainApp{
  val rHelp: ReadHelper = new ReadHelper
}

请注意原案例

class ReadHelper {}
object ReadHelper {}

class MainApp{
  val rHelp: ReadHelper.type = ReadHelper
}

或只是

object ReadHelper {}

class MainApp{
  val rHelp: ReadHelper.type = ReadHelper
}

rHelp有不同的类型。

object ReadHelper不是class ReadHelper的对象(在OOP语言中也称为实例)。它是所谓的companion object类。除了类之外,这是一个类似于类的结构(单例)。在字节代码中,您将找到两个类ReadHelper(类本身)和ReadHelper$(伴随对象)。

也许你应该read more关于Scala中的类,对象和伴随对象。