An explicit up-cast converts a type to a supertype, for example, to cast an
This is quite curious though. Ideally, a subtype should be implicitly usable as any of its supertypes. Although up-casting is obviously safe, and it should be allowed, is it actually needed anywhere?
See the discussion here - https://groups.google.com/forum/#!topic/java-lang-fans/KVmmgeSCHkA