Это основы полиморфизма и наследования - два термина, которые вы должны жить и дышать, чтобы полностью понять ООП.
Учтите это:
У вас есть интерфейс Car, объект SportsCar, который реализуетАвтомобиль и объект Porsche, который расширяет SportsCar.
SportsCar IS-A Автомобиль, так что вы можете сказать: Car myCar = new SportsCar();
Porsche IS-A SportsCar, чтобы вы могли сказать: SportsCar myCar = new Porsche();
К тому жемаркер, Porsche IS-A Car, так что вы точно можете сказать:
Car myCar = new Porsche();
Итог: суперкласс (интерфейс, абстрактный класс или что-то еще) может содержать ссылки на свои подклассы.