Java SE Bronze (1Z0-818-JPN) 試験 / 継承とポリモフィズム ・ 無料問題 5/5
継承とポリモフィズム 問題5[参照型の型変換]
次のコードをコンパイル・実行した結果として正しいものを選んでください。
class Parent { void show() { System.out.println("Parent"); }}class Child extends Parent { void show() { System.out.println("Child"); }}public class Main { public static void main(String[] args) { Parent p = new Parent(); Child c = (Child) p; c.show(); }}選択肢
- A.実行時に ClassCastException が発生する正解
- B.16行目でコンパイルエラーになる
- C.Parent と出力される
- D.Child と出力される
解説実行して確認済み
Parent 型から Child 型へのダウンキャストは、変数が Child を指している可能性があるためコンパイルは通ります。しかし実体は Parent のオブジェクトで Child ではないため、実行時にキャストが失敗して ClassCastException が発生します。
この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。
Java SE Bronze (1Z0-818-JPN) 試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。