// 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("...");
}发布于 2013-02-26 23:03:23
让您感到困惑的部分是创建一个匿名类,然后实例化它,并将新创建的实例作为参数传递给方法。您引用的代码块是从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
}; //发布于 2013-02-26 23:01:08
这是一个匿名类。
这只是一个继承自带有声明方法的UntypedActorFactory的新类。
https://stackoverflow.com/questions/15092235
复制相似问题