Hello, I'm new here and to
Java so please correct me if I'm wrong but here is the major differences to me;
1. Interfaces are not objects, abstract classes are.
2. Interfaces don't have constructors where sub-classes can inherent field members
3. It used to be that interfaces could have no methods with implementation, rather only abstract methods but with Java 8 interfaces can have default and static methods
4. And I almost forgot; you can implement multiple interfaces but because Java has single inheritance, you can only extend one abstract class at a time.
5. Oh and also, because interfaces are not objects, they are much faster
(But I never proved it myself, conceptually Java handles interface abstract methods as basic names, I'm not quite sure the overhead java has when handling these as objects, it's just something I'm told)