在Java接口的数组

我有一个接口。

public interface Module { void init(); void actions(); }

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

Module[] instances = new Module[20]

我怎样才能实现这个数组?

--------------解决方案-------------

是的,这是可能的。 您需要填写的数组中的字段类型的对象Module

instances[0] = new MyModule();

MyModule是实现了模块接口的类。 另外,您可以使用匿名内部类:

instances[0] = new Module() {
public void actions() {}
public void init() {}
};

这是否回答你的问题?

您将需要一个类(ES)实现该接口的实例,填补了数组。

Module[] instances = new Module[20];
for (int i = 0; i < 20; i++)
{
instances[i] = new myClassThatImplementsModule();
}

你需要创建一个能够实现该接口和使用,在你的阵列创建的具体类型

当然,你可以创建一个数组,其类型是一个接口。 你只需要投入到该接口的具体实例的引用到阵列中,无论是使用元素前用名或匿名的创建。 下面是一个打印数组对象的哈希码一个简单的例子。 如果您尝试使用任何元素,说myArray的[0] .method1(),你会得到一个NPE。

public class Test {
public static void main(String[] args) {
MyInterface[] myArray = new MyInterface[10];
System.out.println(myArray);
}
public interface MyInterface {
void method1();
void method2();
}
}

分类:java的 时间:2015-03-15 人气:0
本文关键词: Java中,数组,接口
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.325 (s). 10 q(s)