2016-11-24 4 views
0

以下のコードでは、正確にinstanceof演算子の機能は何ですか?ブロックがtrueの場合(つまり、obj instanceof MountainBike == trueの場合)にのみブロックが実行されることを理解しています。実際の理由を考えれば、なぜ再び型キャスト(MountainBike)オブジェクトにする必要がありますか?Typecastingとinstanceof演算子

if (obj instanceof MountainBike) { 
     MountainBike myBike = (MountainBike)obj; 
    } 
+0

オブジェクト*が*マウンテンバイクとして見ることができるならばそれは」と言い、それをMountainBikeとして見る」 – RealSkeptic

+0

私はobjがすべてのオブジェクトの親である "Object"型であると仮定します。キャストしないと、MountainBikeクラスの関数、つまり子を使用できなくなります。 – user1211

答えて

0

コンパイラが認識していないので、コンパイル時に、このオブジェクトはそのキャストが必要とされている「マウンテン」、であることを