An abstract class is a regular class except that one or more methods may not have been defined. Ex: Think getSalary() method in Employee class, where different employees have different calculations for their salaries.
An interface, on the other hand, is a specification to be complied with, for specific functionality. Ex: to use threads in a class, it must implement runnable (not quite, it can extend Thread, but that is not a good way!). I think a sortable object must implement the comparable interface.
Not being instantiable is another difference with Interfaces.