Java可以強制向下轉型
Java不可以強制向上或不同類型的轉型
但有時候也需要注意,比如:
Object obj2 = new Integer(100);
String strVal = (String)obj2;
第2個語句雖然表面上看是強制向下轉型,但是obj2本質上是Integer類型,這樣就是不同類型的轉換,從而報CalssCastException的異常。
使用強制類型轉換的時候,最好用instanceof做個類型檢查,以判斷是否可以轉換,否則容易拋出CalssCastException異常。
每個對象的類型在對象創建的時候已經確定並且不能更改,所謂強制轉換也只是使其表面上換成了另一種類型,可以使用其方法對這個對象進行處理。那么可想而知,把物品A 當成物品B來使用,當A能能夠被當成B的時候大家都相安無事,你走你的路,我過我的橋,一旦A不能被當成B,它不會去自動調用toString()方法,而是馬上就會報錯。