015-003-009

安全なダウンキャストとClassCastException

上級

問題説明

安全なダウンキャストとClassCastException

学習目標: 不適切なダウンキャストで発生するClassCastExceptionの原因と対処法を理解する

この問題では: instanceof演算子を使ってAnimalオブジェクトをDogまたはCatに安全にダウンキャストし、動物の種類と名前を標準出力に表示するプログラムを作成します。

概要

Animal型のオブジェクトに対して安全にダウンキャストを行い、キャスト失敗時にメッセージを出力するプログラムを作成してください。

仕様

  1. AnimalDog(extends Animal)、Cat(extends Animal)クラスを定義
  2. safeCast(Animal a) staticメソッドを定義:
    • DogならDogにキャストして Dog: <name> を出力
    • CatならCatにキャストして Cat: <name> を出力
    • どちらでもなければ Unknown: <name> を出力
  3. mainでAnimal配列に Dog("Rex"), Cat("Mimi"), Animal("Unknown") を格納しループで呼ぶ

出力形式

Dog: Rex
Cat: Mimi
Unknown: Unknown

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録