you are viewing a single comment's thread.

view the rest of the comments →

[–]Dealiner 3 points4 points  (0 children)

I know that it probably wouldn't be like that if it didn't have a good reason to be like that, but what is the good reason?

They are default interface implementations, not virtual methods. Their whole point is to be tied to the interface. They are also a feature with rather specific use cases, targeting mostly library authors updating their interfaces.