> You can ignore the inheritance hierarchy and only use the implements hierarchy to mock multiple inheritance with interfaces+defender methods mocking abstract classes.
You can't ignore the inheritance hierarchy. Any class that implements
a method with the right signature will be preferred to a default
method, regardless of how 'close' the interface is compared to the
class. This is a significant different between the way inheriting
implementations works between abstract classes and default methods on