It was definitely also a fault of initial OOP in Java. Java's interfaces became a bit more flexible later on.
What's this referring to?
What's this referring to?