Типы объектов в java определяются во-время выполнения?
Нет, в джаве статическая типизация. Типы известны во время компиляции. В твоём примере типы объекта и переменной известны и не совпадают(и тип объекта не может быть приведён к типу переменной).
1. Да, тип объектов –во-время выполнения.
2. Нельзя скомпилировать, потому что по классу уже определён тип ссылки (как литерала) – и он не подходит. 
Тип ссылки и объекта – разные вещи.