【问题标题】:Scala: companion objects and "new" keywordScala:伴生对象和“new”关键字
【发布时间】:2012-04-05 09:11:12
【问题描述】:

在我最近关于在 Scala ("new" keyword in Scala) 中使用或省略“new”关键字的帖子中,有人告诉我,省略是因为某些类具有使用 apply 方法定义的伴随对象。我的问题是:我们是否能够分辨出或是否有任何一般规则来区分哪些类/对象具有伴随对象和应用方法?

在此先感谢,很抱歉这是一个愚蠢的问题,但是来自 Java 背景有点令人困惑。

【问题讨论】:

  • 您可以查看 scaladocs。或者,如果您使用 IDE,代码完成应该会显示它。
  • 我正在使用eclipse,它应该如何告诉我我是否使用了伴侣?
  • 您的问题不是您是否应该使用伴侣,而是如何区分哪些类具有定义了应用的伴侣并且IDE向您显示C代表类或O代表对象在代码完成列表中。

标签: scala new-operator apply


【解决方案1】:

Scala API documentation 中,您会在左侧列表中看到一个小图标。如果单击它,您将转到所提到的类或特征的伴随对象的文档。

标准库中的大多数集合类和许多其他类都有带有apply 方法的伴随对象。

对于案例类,Scala 编译器会自动创建一个带有 apply 方法(以及其他方法)的伴生对象。

【讨论】:

    【解决方案2】:

    scala API documentation 中,您可以通过单击图标 和explained by Jesper 来访问伴随对象,但您也可以通过单击类/对象符号在类及其伴随对象之间切换主面板顶部:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-26
      • 2015-08-12
      • 2012-11-22
      • 1970-01-01
      • 2018-02-06
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多