The following conversions are called the widening reference conversions:
Object from any other class type.)
Object.
Object.
Cloneable.
[] to any array type TC[], provided that SC and TC are reference types and there is a widening conversion from SC to TC.
Such conversions never require a special action at run time and therefore never throw an exception at run time. They consist simply in regarding a reference as having some other type in a manner that can be proved correct at compile time.
See §8 for the detailed specifications for classes, §9 for interfaces, and §10 for arrays.