Java 8: extension virtuelle des méthodes vs classe abstraite

Je suis à la recherche de la nouvelle extension virtuelle des méthodes en Java 8 interfaces:

public interface MyInterface {
   default String myMethod() { 
      return "myImplementation"; 
   }
}

- Je obtenir leur but en permettant une interface d'évoluer au fil du temps, et de l'héritage multiple bits, mais ils ont l'air terriblement comme une classe abstraite pour moi.

Si vous êtes en train de faire de nouveaux travaux sont des classes abstraites préféré sur les méthodes d'extension pour fournir de la mise en œuvre d'une "interface" ou sont ces deux approches conceptuellement équivalents?

  • lambdafaq.org/... - la distinction entre l'héritage de comportement contre l'héritage de l'état est crucial.
  • Et Quels sont default méthodes? qui assez bien énonce exactement leur but. Leur but principal est de permettre la compatibilité avec le code qui compile contre Java 7 et de ne pas mettre en œuvre de la "fonctionnelle" méthodes ajoutée à Java 8.
InformationsquelleAutor Kong | 2013-08-12