인터페이스가 있습니다.Java의 인터페이스 배열
public interface Module {
void init();
void actions();
}
이렇게 배열을 만들면 어떻게됩니까?
Module[] instances = new Module[20]
어떻게이 어레이를 구현할 수 있습니까?
인터페이스가 있습니다.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() {}
};
이 질문에 대한 답변은 있습니까?
해당 인터페이스를 구현하는 클래스의 인스턴스로 배열을 채워야합니다.
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();
}
}
그건 의미가 없습니다. 인터페이스를 인스턴스화 할 수 없습니다. 그 목적은 무엇입니까? 너 뭐하려고? – EboMike
@user 달성하려는 목표는 무엇입니까? – Searock
[무엇을 시도 했습니까?] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? – ironchefpython