Привет! В одном из тестов здесь есть такой вопрос "Можно ли в переменную класса-наследника присвоить ссылку на объект базового класса?". В тесте предполагается, что ответ "нет". В этой лекции говорится следующее: При сужении типа, нужно использовать оператор преобразования типа, то есть мы выполняем явное преобразование. При этом Java-машина выполняет проверку, а действительно ли данный объект унаследован от Типа, к которому мы хотим его преобразовать.
public static void main(String[] args)
{
  Object obj = new Tiger();
  Animal animal = (Animal) obj;
  Cat cat = (Cat) obj;
  Tiger tiger = (Tiger) animal;
  Tiger tiger2 = (Tiger) cat;
}
Подскажите, в тесте вопрос о чем-то другом, под базовым классом имеется в виду не класс-родитель? Или там просто ошибка?