When might multiple inheritance be the only reasonable solution?-Collection of common programming errors

I’d read up on Java Interfaces, and so on, to get a better idea as to the answer to this question. The idea behind an Interface is to create an abstract class that acts as a template for another class. the advantage, here, is that the templates can be combined within a concrete class. For example-

Parent class- FoodStore Subclass- CoffeeShop Subclass- Bakery

With this inheritance tree, a FoodStore can be a Bakery or a CoffeeShop but not both. But then what would we call a Starbucks?

Better way, IMO-

Parent Class- FoodStore Interface- CoffeeShop Interface- Bakery

public class Starbucks extends FoodStore implements CoffeeShop, Bakery { … }

You’ll have to know a bit of Java to understand that, but have at it. Interfaces are fairly elementary, IMO.

As a further musing, perhaps Interfaces are designed to obey “Don’t repeat yourself.” Obvious, now that I mention it.