在我最近有关在Scala中使用或省略“new”关键字的帖子中 ( "new" keyword in Scala),有人告诉我省略是因为某些类具有定义了apply方法的伴生对象。我的问题是:我们能否知道或是否有任何通用规则来区分哪些类/对象具有伴生对象和apply方法?提前感谢,如果这是一个愚蠢的问题,对不起,但是作为一个来自Java背景的人,这有点令人困惑。
在 Scala API 文档 中,你会在左侧列表中看到一个小图标 。如果你点击它,就会进入所提到的类或特质的伴生对象文档。大多数集合类和许多其他标准库中的类都有具有 `apply` 方法的伴生对象。对于 case 类,Scala 编译器会自动创建一个带有 `apply` 方法(以及其他方法)的伴生对象。