Предполагая, что код компилируется, мы можем с уверенностью сказать, что Class2
наследует Class1
.
Когда вы выполняете следующую операцию:
Class1 name = new Class2();
вы создаете экземпляр /объект Class2
, но тип переменной - Class1
.Это совершенно верно, поскольку Class2
происходит от Class1
.
Пока вы знаете, что оператор new
- это то, что создает объект, мы можем, поэтому, сказать, что любой тип следует за new
оператор - это тип объекта, который создается.
Вот и все, больше ничего нет.