I don't have a direct answer to differentiate abstract class from interface other than a class can implement an interface but it cannot extend it. Only an interface can extend another interface. In the same regard, An interface cannot implement an interface of class.
An abstract class can never be instantiated. Its sole purpose is to be extended. An abstract class can extend another abstract class; BUT it does not have to implement them. However, the first concrete class that extends the abstract class HAS to provide the implementations to all the abstract methods.