Java - 在构造函数方法调用中阻塞

时间:2013-02-26 14:57:30

标签: java playframework akka

// allows passing in arguments to the MyActor constructor
ActorRef myActor = system.actorOf(new Props(new UntypedActorFactory() 
  {                                  // 
    public UntypedActor create() {   //
      return new MyActor("...");     //   <- this part confuses me
    }                                //
  }                                  //
 ), "myactor");

我是Java新手,通过Akka文档。我发现上面的代码令人困惑。特别是下面的代码块。如何将代码块发送到“new UntypedActorFactory()”构造函数调用。什么是这种类型的构造函数初始化称为。

{
public UntypedActor create() {
return new MyActor("...");
}

2 个答案:

答案 0 :(得分:4)

困惑你的部分会创建一个匿名类,然后实例化它,并将新创建的实例作为参数传递给方法。您引用的代码块是从UntypedActorFactory

派生的匿名类的主体

例如,如果你有一个界面:

interface SomeInterface {
    void someMethod();
}

你可以像这样创建一个实现你的接口的匿名类(类似的语法适合扩展命名类):

SomeInterface instance = new SomeInterface() {
    public void someMethod() {    //
        // implementation here    //  <- similar to the example, 
    }                             //     this is the body of anonymous class
};                                //

答案 1 :(得分:0)

这是一个匿名类。

这只是一个使用声明的方法从UntypedActorFactory继承的新类。