C extends B
означает, что C
является B
. И вам не нужно приводить C
к B
, потому что это B
.
Таким образом, upcast (от C до B) всегда избыточен. Единственный случай, когда вам понадобится разыграть, это пониженный рейтинг (от B до C):
B b = new C();
C c = (C) b;