015-003-009
安全なダウンキャストとClassCastException
上級
問題説明
安全なダウンキャストとClassCastException
学習目標: 不適切なダウンキャストで発生するClassCastExceptionの原因と対処法を理解する
この問題では: instanceof演算子を使ってAnimalオブジェクトをDogまたはCatに安全にダウンキャストし、動物の種類と名前を標準出力に表示するプログラムを作成します。
概要
Animal型のオブジェクトに対して安全にダウンキャストを行い、キャスト失敗時にメッセージを出力するプログラムを作成してください。
仕様
Animal、Dog(extends Animal)、Cat(extends Animal)クラスを定義safeCast(Animal a)staticメソッドを定義:- DogならDogにキャストして
Dog: <name>を出力 - CatならCatにキャストして
Cat: <name>を出力 - どちらでもなければ
Unknown: <name>を出力
- DogならDogにキャストして
- mainでAnimal配列に Dog("Rex"), Cat("Mimi"), Animal("Unknown") を格納しループで呼ぶ
出力形式
Dog: Rex
Cat: Mimi
Unknown: Unknown
