Horace Mann Interview Question

What is the difference between an interface and an abstract class and when would you use each?