在Java中使用接口作为构造函数参数?

ape*_*son 0 java parameters constructor design-patterns interface

我怎样才能完成以下任务:

public class testClass implements Interface {
     public testClass(Interface[] args) {
     }
}
Run Code Online (Sandbox Code Playgroud)

所以我可以宣布

Interface testObject = new testClass(new class1(4), new class2(5));
Run Code Online (Sandbox Code Playgroud)

class1和class2也是实现Interface的类.

另外,一旦我完成了这个,我怎样才能引用在testClass中使用的每个参数?

谢谢 :)

Rom*_*man 8

所以我可以宣布

接口testObject = new testClass(new class1(4),new class2(5));

您需要在testClass构造函数中使用varargs:

public testClass (Interface ... args) {
   for (Interface i : args) {
      doSmthWithInterface (i);
   }
}
Run Code Online (Sandbox Code Playgroud)