5.1.5 Narrowing Reference Conversions

The following conversions are called the narrowing reference conversions:

Such conversions require a test at run time to find out whether the actual reference value is a legitimate value of the new type. If not, then a ClassCastException is thrown.