I only see two differences with abstract classes: interfaces can't have instance (and class?) variables and you can inherit from multiple interfaces. Am I missing something? Is this really necessary? Isn't abstract classes enough? Does this have similar problems (or the same) as multiple inheritance?


Yeah, providing default functionality that can be overridden is exactly what abstract classes are for. Interfaces were introduced to circumvent all those multiple inheritance problems!

Reply via email to