实例化一个类-有或没有Parens?

凯文·梅瑞迪斯(Kevin Meredith)
scala> class A { ... }
defined class A

A 可以带或不带括号实例化:

scala> val a = new A
a: A = A@4a27b5cd

scala> val aaa = new A()
aaa: A = A@68aa419e

(更多)惯用的是哪种形式?

据我所知,创建对象是side effect类似于0-arity参数样式的样式,是否应该包括括号

被骗

我在这里写了一个类似的答案:https : //stackoverflow.com/a/20664517/1296806

特别重要的是,构造函数与parens方法不一样。

构造函数始终具有非隐式参数列表。如果在定义中省略它,则将提供它。

new A是惯用的。(如果需要对其进行合理化处理,请考虑将实例作为结果。如果实例化是一个副作用,那么非原始的事物就不可能是纯粹的。)

new A().a 需要括号,因此它们在语法上很有用。

如果后面有隐式,则必须提供parens;请参阅链接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift - 实例化一个类 - 有括号和没有括号的区别

有没有一种方法可以动态实例化一个类类型

实例化一个非静态类以在没有继承的情况下跨其他类使用

使一个类或结构成为所有模板实例化类的朋友?

在 __init__ 内部或外部的类中实例化一个类有什么区别?

如何拥有一个只能由另一个特定类实例化的类

一个类具有另一个类的实例的JVM初始化顺序是什么

只有一个类可以实例化所有其他clases

在没有实例化的另一个对象旁边生成一个对象

如果我不想实例化一个类,我有什么选择?

实例化一个动态加载的类,以实现现有接口

Pytest只能实例化一个类对象以测试其所有方法吗?

有一个技巧可以显式实例化深层模板类?

以下哪一个类定义是无法实例化的类的有效定义?(抽象类)

一个类只有5个实例

C ++实例化对象,该对象在另一个没有指针的类构造函数中没有默认构造函数

为什么不能在一个朋友类中实例化其构造函数是私有的类?

创建一个子类的多个实例,只有一个超类的实例

一个基本的Monoid定义给出“没有实例实例的超类引起的(Semigroup MyMonoid)实例”

如何获取一个类的所有实例

获取一个类的所有实例

怀疑只有一个实例的类

父类有一个支持实例

如何创建一个不能有实例的类?

如何遍历一个类的所有实例?

如何获得一个类的所有实例?

是否可以使用初始化列表实例化一个类并调用一个方法,所有这些都在单个命令中?

在一个类的第一个/最后一个实例存在之前/之后调用一对函数。有没有更好的办法?

为什么春天开机发现,但没有实例化一个@Component?