Tableau d’interface en Java

J’ai une interface

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

Que se passe-t-il lorsque j’essaie de créer un tableau comme celui-ci?

 Module[] instances = new Module[20] 

Comment puis-je implémenter ce tableau?

Oui c’est possible. Vous devez remplir les champs du tableau avec des objects de type Module

instances[0] = new MyModule();

Et MyModule est une classe implémentant l’interface Module. Vous pouvez également utiliser des classes internes anonymes:

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

Est-ce que cela répond à votre question?

Vous devez remplir le tableau avec les instances d’une classe qui implémente cette interface.

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

Vous devez créer un type de classe concret qui implémenterait cette interface et l’utiliser dans la création de votre tableau.

Bien sûr, vous pouvez créer un tableau dont le type est une interface. Vous devez simplement mettre des références à des instances concrètes de cette interface dans le tableau, créées avec un nom ou anonymement, avant d’utiliser les éléments qu’il contient. Vous trouverez ci-dessous un exemple simple d’impression du code de hachage de l’object tableau. Si vous essayez d’utiliser un élément, dites myArray [0] .method1 (), vous obtenez un NPE.

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