クラスとメソッド応用問題

次のコードをコンパイルしたとき、どうなりますか? class MyClass { private int value; MyClass(int v) { this.value = v; } private void show() { System.out.println(value); } } public class Main { public static void main(String[] args) { MyClass obj = new MyClass(10); obj.show(); } }

A.10が出力される
✗ show()はprivateのため別クラスから呼び出せず、コンパイルエラーになります。10は出力されません。
B.0が出力される
✗ コンパイルエラーとなるため実行自体されません。0が出力されることもありません。
C.コンパイルエラーになる← 正解
✓ 正解です。privateメソッドshow()をクラス外のMainから呼び出しているため、コンパイルエラーが発生します。
D.実行時エラーになる
✗ 実行時エラーではなく、コンパイル時点でエラーが検出されます。

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