【问题标题】:to which class does object belong对象属于哪个类
【发布时间】:2017-11-12 17:54:49
【问题描述】:

我在 Scala REPL 中编写了以下内容。我不明白 REPL 为我创造了什么。 cAny 类的对象吗?如何找到c 属于哪个类?

scala> object c
defined object c

【问题讨论】:

标签: scala


【解决方案1】:

通过声明object c,您基本上实例化了一个名为c 的单例对象,它没有自定义属性或方法。此对象不是Any 类型,您可以通过以下方式查看其类:

scala> object c
defined object c

scala> c.getClass
res14: Class[_ <: c.type] = class c$

要了解有关单例对象的更多信息,请阅读参考资料here。摘录:

Singleton 对象是一种用于定义单一用途的简写 类,不能直接实例化,并且是 val 成员 对象的定义点,具有相同的名称。确实像 vals,单例对象可以定义为特征或类的成员, 虽然这是非典型的。

【讨论】:

    【解决方案2】:

    object c 的类(类型)是c.type。通过在 Scala 中声明一个对象,您可以隐式定义类和单例对象(Scala 将为您生成这些对象)。由于类没有在源代码中明确定义,因此存在称为type 的特殊对象成员来引用对象的类。

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 2020-07-11
      • 2010-12-28
      • 2011-01-04
      • 1970-01-01
      • 2019-09-11
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多