用instanceof類型轉換是不是只能轉換一個對象?
? ? ?Jiaoche jiaoche = new Jiaoche();
feiji plane = new feiji();
? ? Jiaotonggongju jiaotonggongju = jiaoche;
if(jiaotonggongju instanceof feiji) {
feiji plane2 = (feiji) jiaotonggongju;
}else {
System.out.println("123");
}
if(jiaotonggongju instanceof Jiaoche) {
Jiaoche jiaoche2 = (Jiaoche)jiaotonggongju;}
else {System.out.println("321");}
這樣子只能轉換Jiaoche,feiji就轉換不了了,當我兩種都轉換的時候就報錯了
?
2019-07-20
instanceof只是判斷一個對象是否某個類或者子類的對象或者實例,換句話說instanceof只是用來規避有風險或出錯的強制轉換,而不是轉換的本身。對象之間能否轉換而風險或出錯取決于對象之間的相互關系。