the key differences are:
1. the abstract class contains non abstract class while the interface cannot.
2. a class can implement any number of interfaces but only inherit from one class abstract are not.