scala – Companion类需要导入Companion对象方法和嵌套对象吗?
发布时间:2020-12-16 09:25:21 所属栏目:安全 来源:网络整理
导读:我正在查看Akka相关的类型安全激活器代码,以下构造引起了我的兴趣: 伴侣对象: object MarkerActor { sealed trait MarkerMessage case object Stop extends MarkerMessage .. def objectMethod = print("hi from companion object")} Companion类:它导入
我正在查看Akka相关的类型安全激活器代码,以下构造引起了我的兴趣:
伴侣对象: object MarkerActor { sealed trait MarkerMessage case object Stop extends MarkerMessage .. def objectMethod = print("hi from companion object") } Companion类:它导入伴随对象方法: class MarkerActor extends Actor with ActorLogging { import MarkerActor._ // Comment this line to compare w or w/o import available objectMethod // just to see if 'visible' within companion class override def receive = { case Stop => { 所以..这有点令人惊讶.为什么同伴类/对象之间没有“特殊关系”,允许类自动“看到”对象方法? 更新我对此有点怀疑,所以继续并注释掉“import MarkerActor._”这导致Companion类中出现“Symbol not found:Stop”错误.所以..导入确实是必需的. 解决方法
几年前,讨论过是否将所有伴随对象成员隐式导入其父类.当时做出的决定(今天仍然有意义)是要求显式导入,因为添加额外的导入比删除不需要的导入更容易.
Here is the full discussion.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |