Java SE 17 Silver (1Z0-825-JPN) 試験 / 継承とインタフェースの使用 ・ 無料問題 1/3
継承とインタフェースの使用 問題1[スーパークラスとサブクラスの作成と使用]
次のコードを実行したときの出力を選んでください。
class Animal { String name; Animal(String name) { this.name = name; System.out.print("A "); }}class Dog extends Animal { Dog() { this("pochi"); System.out.print("D1 "); } Dog(String name) { super(name.toUpperCase()); System.out.print("D2 "); }}public class Main { public static void main(String[] args) { Dog d = new Dog(); System.out.println(d.name); }}選択肢
- A.A D2 D1 POCHI正解
- B.D1 D2 A POCHI
- C.A D1 D2 pochi
- D.12行目でコンパイルエラーになる
解説
new Dog() は、まず this("pochi") で引数付きのコンストラクタを呼び、その中の super(...) で Animal のコンストラクタが実行されます。コンストラクタの本体は、呼び出した先の処理が終わってから続きが実行されるので、A → D2 → D1 の順に出力されます。name には大文字にした POCHI が代入されています。
Java SE 17 Silver (1Z0-825-JPN) 試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。