Possible d'instancier une interface ?
Salut,
J'ai toujours cru que le fait qu'on ne puisse pas instancier une interface signifiait qu'on ne pouvait pas utiliser le mot cle new avec une interface.
Code:
List<String> l = new List<String>(); //Compile Time Error
Pourtant je vois souvent dans des exemples ceci :
Code:
1 2 3
| Runnable r = new Runnable() {public void run(){System.out.println("Middle Access");}};
...
Serializable s = new Serializable(){}; |
Cette question est un peu bancale mais pourquoi cela est possible si les specifications de Java precisent que c'est impossible. Je rate quelque chose mais je n'arrive pas a mettre le doigt dessus. Y a t il une exception pour les interfaces anonymes ? Ou bien j'ai tord d'associer instance et new ?