Questo post descrive una nuova funzionalità in Java 8 chiamata metodi di estensione virtuale (precedentemente denominati metodi predefiniti o metodi di difesa). Nell'esempio fornito, un'interfaccia ha un metodo, che è implementato da una classe. Quindi viene aggiunto un secondo metodo, ma invece di forzare la classe ad implementare immediatamente il nuovo metodo dell'interfaccia, viene creato un "metodo di estensione virtuale" all'interno dell'interfaccia come implementazione di questo nuovo metodo, quindi la classe non ha bisogno di implementare il nuovo metodo subito.
Diciamo che il programmatore decide di creare un metodo di estensione virtuale in un'interfaccia e non prevede mai che le sottoclassi implementino la propria versione. Non sarebbe un mixin? Sembra uno per me, ma non l'ho mai sentito nominare come tale. C'è qualche differenza fondamentale che non capisco?