[ad_1]
A few points to consider:
Interfaces didn’t have default methods until Java 8.
That
ain your interface is implicitlyfinal. Interfaces can’t define public mutable fields.Interfaces can’t define private (or protected, or package) fields.
Interfaces can’t have protected or package methods; they couldn’t have private methods until Java 9.
Abstract classes don’t have any of those issues. So when you need to do any of those things (other than #1, now that default methods exist), you reach for an abstract class (perhaps in addition to an interface that it implements).
2
[ad_2]
solved What is the point of abstract classes, when you could just do an interface [duplicate]