次のJavaプログラムを実行したときに出力される結果はどれか。
class A {
int x, y;
A () {
x = 10; y = 2;
}
A (int k) {
x = k + 1; y = 5;
}
}
Class B extends A {
B (int k) {
x = k;
}
}
Class Main {
public static void main (String [] argv) {
int y;
B b;
y = 3;
b = new B(1);
System.out.println(b.x + " " + b.y);
}
}
@ 1 2 A 1 5 B 2 3 C 2 5 D 10 2
@
b = new B(1);のコンストラクタの実行時に、引数のないコンストラクタが実行され、
x = 10、y = 2となる。
その後、 x = k により、x = 1 が入る。
従って b.x = 1, b.y = 2 となる。
W−2 | 目次 | W−4 |