Kodrill

Java SE 17 Silver (1Z0-825-JPN) 試験 / 継承とインタフェースの使用 ・ 無料問題 1/3

継承とインタフェースの使用 問題1[スーパークラスとサブクラスの作成と使用]

次のコードを実行したときの出力を選んでください。

Main.java
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 が代入されています。

「継承とインタフェースの使用」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。