When java can implicitly do up casting , why does not it implicitly do down casting ?Please explain with some simple example?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The point is that upcasting will always succeed, so it's safe - whereas downcasting can fail:
String x = getStringFromSomewhere();
Object y = x; // This will *always* work
But:
Object x = getObjectFromSomewhere();
String y = (String) x; // This might fail with an exception
Because it's a "dangerous" operation, the language forces you to do it explicitly - you're basically saying to the compiler "I know more than you do at this point!"