看看斯卡拉深度的代码..。
scala> trait Foo {
| def someMethod(): Int = 5
| }
defined trait Foo
scala> class Main() extends Foo {
| }
defined class Main然后,我创建了一个新的Main (没有括号)。
scala> class Main extends Foo {}
defined class Mainclass Main()中的括号是什么意思?不带括号的怎么样?
发布于 2013-12-18 16:37:32
都是一样的。如果不使用括号,则与空括号相同。
class A()
new A()
new A
class B
new B()
new B都是一样的。
发布于 2013-12-18 17:23:45
5.3规范:
如果没有给出正式参数段,则假定为空参数节()。
这与方法不同,这些方法可以是无参数的。
当你写
class A你真的在写
class A()此外,
scala> class A(implicit i: Int)
defined class A
scala> new A
<console>:9: error: could not find implicit value for parameter i: Int
new A
^
scala> new A()(1)
res1: A = A@32185a4a
scala> new A(1)
<console>:9: error: too many arguments for constructor A: ()(implicit i: Int)A
new A(1)
^发布于 2013-12-18 16:37:53
在类名后面的括号中,有主构造函数的参数。在这种情况下,没有参数,所以您可以省略括号。
https://stackoverflow.com/questions/20663293
复制相似问题