Java中的接口数组

Rog*_*ews 8 java arrays interface

我有一个界面.

public interface Module {
        void init();
        void actions();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试创建这样的数组时会发生什么?

Module[] instances = new Module[20]
Run Code Online (Sandbox Code Playgroud)

我该如何实现这个数组?

bur*_*rna 26

对的,这是可能的.您需要使用Type对象填充数组的字段Module

instances[0] = new MyModule();

并且MyModule是一个实现Module接口的类.或者,您可以使用匿名内部类:

instances[0] = new Module() {
 public void actions() {}
 public void init() {}
};
Run Code Online (Sandbox Code Playgroud)

这回答了你的问题了吗?


Bri*_*ach 7

您需要使用实现该接口的类的实例填充数组.

Module[] instances = new Module[20];
for (int i = 0; i < 20; i++)
{
    instances[i] = new myClassThatImplementsModule();
}
Run Code Online (Sandbox Code Playgroud)