instanceof關鍵字的使用

inttanceof關鍵字用來判斷一個引用指向的對象是不是某種類型,具體代碼塊如下:

package com.javaeasy.logcar;


import com.javaeasy.car.CarBase;   //這個類就不寫出來了
import com.javaeasy.othertransport.Bike;   //這個類就不寫出來了


public class TransportRecoder {
public static int counter = 0;    //靜態變量,用於保存經過的交通工具數


public static void recordTransport(Object transportObj) {     //靜態方法,用於處理一輛經過的交通工具。Object類是萬類之祖,其引用可以指向任何類
if (transportObj == null) {
return;
} else {
counter++;
TransportStatus status = null;     //TransportStatus類的引用
if (transportObj instanceof CarBase) {         //判斷transportObj指向的是不是Carbase類的對象
CarBase car = (CarBase) transportObj;    //前面學習過通過一個引用可以調用什麼方法,是由引用的類型決定的。所以在確定Object引用指向Carbase類的                                                                                                   //對象後,首先創建一個Carbase類的引用,然後將Object類的引用強制類型轉換後,給這個新創建的引用賦值。
status = car.getCarStatus();
} else if (transportObj instanceof Bike) {   //否則就判斷是不是Bike類的對象
Bike bike = (Bike) transportObj;      //是則強制類型轉換
status = bike.getBikeStatus();
}
System.out.println("以下是經過的第" + counter + "輛車的信息:");
System.out.println("車爲:" + status.getName() + ",車速爲:"
+ status.getSpeed());
}
}

前面學習過通過一個引用可以調用什麼方法,是由引用的類型決定的。所以在確定Object引用指向Carbase類的對象後,首先創建一個Carbase類的引用,然後將Object類的引用強制類型轉換後,給這個新創建的引用賦值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章