Trygve,
I know it is tempting to think of default methods in Java 8 as some late arrival of some form of multiple inheritance / Traits, whatever you name it :)
Incidentally (ironically?) I'm responsible for implementing this feature for Eclipse, so I had a look at the (still not finalized) specification.
From all I saw, I can advise the use of default methods
only along the original intention: to facilitate interface evolution. Library vendors can now add methods to interfaces that are already in use (i.e., implemented) by clients.
Given that composition using default methods would be purely static, any data object that potentially plays multiple roles in multiple contexts would need to statically declare to implement all those role interfaces. As a result conflicts between methods from different interfaces become possible.
The sad news is: Java 8 will not bring any means for disambiguation in this situation: if an inherited default method happens to be override-equivalent with any other inherited method this will simply be flagged as a compile error. For real-life use as an implementation of roles the concept would need better support for isolating different roles. Sorry to say.
best,
Stephan