Animal a = new Animal(); Cat c = new Cat(); Dog d = new Dog(); c = (Cat)d; // Ошибка компиляции. Кошка не может быть собакой.Если бы было:
Animal a = new Animal(); Animal c = new Cat(); Animal d = new Dog(); c = (Cat)d; // то - ClassCastException, т.к. О том, что d - это собака, компилятор не знает. Это обнаружится во врямя выполнения и выкинется исключениеJava задачи с собеседований