Uso de interfaces e herança

Por que, em Java, se deve priorizar o uso de interfaces, ao invés de herança com classes?

[]'s.

Esse modelo de desenvolvimento deve ser prioritário em todo e qualquer sistema orientado a objetos (tecnicamente, todos os tipos de sistema).

Depende do caso, não tem prioridade ou até mesmo obrigação de usar um deles.

Obrigado!!