首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何理解这两行scala代码?

如何理解这两行scala代码?
EN

Stack Overflow用户
提问于 2016-10-01 12:34:53
回答 1查看 52关注 0票数 1

在阅读akka-actor源文件时,我发现了这两行代码:

代码语言:javascript
复制
abstract class ExtensionKey[T <: Extension](implicit m: ClassTag[T]) extends ExtensionId[T] with ExtensionIdProvider {
    def this(clazz: Class[T]) = this()(ClassTag(clazz))

在此文件的底部:

https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/actor/Extension.scala

我不能理解构造函数调用"this()“。在没有参数的情况下定义构造函数?这是怎么回事?读了一些关于scala构造函数重载的文章,仍然无法解释它。

EN

回答 1

Stack Overflow用户

发布于 2016-10-01 13:00:00

主构造函数ExtensionKey[T <: Extension](implicit m: ClassTag[T])实际上有两个参数列表:第一个参数列表是空的,用于非隐式参数。也就是说,这与他们编写的ExtensionKey[T <: Extension]()(implicit m: ClassTag[T])完全相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39803072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档