akka类接收定义在哪里?

san*_*eev 3 scala akka

我是Scala的新手.

在其中一个Actor类中,我看到我的同事定义了这样的代码

import akka.actor.Actor

class Processor extends Actor {

  def receive: Receive = {
    case msg: String => doProcess(msg)
    case _ => 
  }
}
Run Code Online (Sandbox Code Playgroud)

这个类接收定义在哪里?它不会导入此类.系统将如何找到Receive类

Den*_*aub 6

它是分别PartialFunction[Any, Unit]akka.actor.Actor伴随对象和特征中定义的类型别名.

摘自源代码:

object Actor {
    // Type alias representing a Receive-expression for Akka Actors.
    type Receive = PartialFunction[Any, Unit]
    // ...
}

trait Actor {
    // to make type Receive known in subclasses without import
    type Receive = Actor.Receive
    // ...
}
Run Code Online (Sandbox Code Playgroud)