import akka.testkit.TestActorRef val actorRef = TestActorRef[MyActor]
我想出的在方括号内的类名后面添加args的各种想法也都崩溃了。
您可以使用道具
,如下所示:
val actorRef = TestActorRef(Props(new MyActor(param1, param2)))
或者像这样的工厂方法:
val actorRef = TestActorRef(new MyActor(param1, param2))
请参见apply
objectTestactorRef
中的方法。
在Scala中,我想创建一个抽象类,它接受一些“策略”参数(这里是)和一个值参数(这里为)。我想从该类继承,将策略参数作为继承的一部分提供,并获得一个类(这里是),该类接受该值作为构造函数参数。 下面是我希望能够运行的代码: 不幸的是,我收到以下错误: 错误:构造函数Cls1的参数太多:()A$A58.this.Cls1惰性val obl=new Cls1(5)错误:缺少构造函数Base的参数列表
我想有一个java中的构造函数参数化一个类来运行这个类,类似于这个 其中classToRun可能的类没有共同的祖先,但都有方法someStaticMethod。 但也存在一些问题,比如内部类不能有静态方法,类不能被转换为类,等等。 有一些用类方法参数化的解决方案,如 如何在Java中传递类作为参数? 在java中将类作为参数传递给方法 但对建造者来说不是。 这样做的正确解决方案是什么?
在C#、C和Java中,当你创建一个带参数的构造函数时,默认的无参数构造函数就消失了。我一直只是接受这个事实,但现在我开始想为什么。 这种行为的原因是什么?这仅仅是一个“安全度量/猜测”,说“如果你已经创建了自己的构造函数,你可能不希望这个隐含的函数四处游荡”?或者它有一个技术原因,使得编译器不可能在你自己创建构造函数后添加一个?
问题内容: 为什么供应商仅支持无参数构造函数? 如果存在默认构造函数,则可以执行以下操作: 但是,如果唯一的构造函数采用字符串,则必须这样做: 问题答案: 这只是方法引用语法的局限性,您不能传入任何参数。语法就是这样工作的。