クラスとメソッド計算問題
次のコードが実行されたとき、合計でいくつのインスタンスが生成されますか? class Box { int size; Box(int s) { this.size = s; } } public class Main { public static void main(String[] args) { Box b1 = new Box(5); Box b2 = new Box(10); Box b3 = new Box(15); Box[] boxes = new Box[4]; boxes[0] = b1; boxes[1] = b2; } }
A.3個← 正解
✓ 正解です。Box型のインスタンスは b1, b2, b3 の3個のみです。Box配列は生成されますが、要素に参照を代入しているだけです。
B.4個
✗ Box配列も含めると4個になると思われますが、配列自体はBox型インスタンスではありません。
C.5個
✗ 配列要素数を含めて数えていますが、実際のBox型インスタンスは3個です。
D.7個
✗ 配列とその要素を過剰に計算しています。新規生成されたBox型インスタンスは3個です。