Since run time type information is guaranteed to be in all objects, you’ll
never end up with an object whose type you cannot determine. This is
especially important with system level operations, such as exception
handling, and to allow greater flexibility in programming.
由于所有的对象都保证运行时刻信息,你将从来不会因为你不能确定的对象而陷入僵局。
而且对系统级的操作尤其重要,例如异常的处理、编程的灵活性。
Downcasting vs. templates/generics