問題
ポリモーフィズムにおいて、インスタンスの実際の型が不明な場合の注意点を考える問題。インスタンスが特定の型であるかどうかを確認してからダウンキャストし、NullPointerException を回避してみてください。
ヒント
instanceof
演算子の使用:- ダウンキャストする前に、対象のオブジェクトが特定の型であるかどうかを確認するために
instanceof
演算子を使用します。 instanceof
演算子は、対象のオブジェクトが指定された型のインスタンスである場合にtrue
を返し、それ以外の場合にはfalse
を返します。
- ダウンキャストする前に、対象のオブジェクトが特定の型であるかどうかを確認するために
- 条件分岐での型確認:
instanceof
演算子の結果に基づいて条件分岐を行います。- もしオブジェクトが指定された型であれば、安全にダウンキャストを行います。
- そうでない場合、ダウンキャストを行わずに処理をスキップするなど、適切な対応を行います。
- NullPointerException を回避:
- ダウンキャストする前に、オブジェクトが
null
でないことも確認します。 null
の場合にはダウンキャストを行わずに、例外を回避します。
- ダウンキャストする前に、オブジェクトが
- 例外処理の考慮:
- ダウンキャストに失敗した場合に備えて、適切な例外処理を検討します。
- 例外処理により、プログラムの実行が中断されることなく安全に処理を続行できます。
これらのポイントを考慮して、ポリモーフィズムにおいてインスタンスの実際の型が不明な場合の安全なダウンキャストを行うコードを構築してみてください。
→解答例