次のJavaのプログラムを実行したときに出力される結果として、最も適切なものはどれか。
class Inc {
int inc (int a) { return ++a; }
}
class PlusTwo extends Inc {
int incTwice (int a) { return inc(inc(a)); }
}
class PlusTwo2 extends PlusTwo {
int inc (int a) { return --a; }
}
public class Calc {
public static void main (String[] args) {
PlusTwo x = new PlusTwo2();
System.out.println(x.incTwice (5));
}
}
@ 3 A 4 B 5 C 6 D 7
@
PlusTwo x = new PlusTwo2(); によってPlusTwo2クラスをインスタンス化していため、
x.incTwice (5) は PlusTwo2クラスの inc() を呼び出し、引数から1を引いた値を返す。
したがって、 inc(inc(5)) = inc(4) = 3 であり、3が出力される。
V−6 | 目次 | V−8 |