если явно задаем тип, это и есть статическая типизация
Как раз таки для объектов, у которых есть предки и потомки, динамическая типизация во время выполнения будет решать, какой виртуальный метод вызвать, несмотря на то, что класс был указан заранее.