Domanda di colloquio di Tavant

When to use abstract class and when to use interface in Java?