Javaの基本応用問題

以下のコードを実行したとき、何が出力されますか? ```java public class Counter { private int count = 0; public void increment() { count++; } public int getCount() { return count; } public static void main(String[] args) { Counter c1 = new Counter(); Counter c2 = new Counter(); c1.increment(); c1.increment(); c2.increment(); System.out.println(c1.getCount() + "," + c2.getCount()); } } ```

A.2,2
✗ インスタンス変数countは各オブジェクトごとに独立しているため、c1とc2の値は異なります。
B.2,1← 正解
✓ 正解です。c1はincrement()を2回呼び出しで2、c2は1回呼び出しで1となります。インスタンス変数は各インスタンスで独立に管理されます。
C.3,1
✗ c1のcountは2です。increment()を呼び出した回数が3回ですが、それは両方のオブジェクトで共有されません。
D.0,0
✗ increment()メソッドが呼び出されているため、各オブジェクトのcountは増加します。

Oracle Certified Java Programmer, Bronze SE の問題一覧