Salesforce interview question

What's the difference between an abstract class and an interface?