Kodrill

Java SE Bronze (1Z0-818-JPN) 試験 / クラスの定義とオブジェクトの使用 ・ 無料問題 5/5

クラスの定義とオブジェクトの使用 問題5[アクセス修飾子 (public, private) の適用とカプセル化]

次のコードをコンパイルした結果として正しいものを選んでください。

Main.java
class Calculator {    public int twice(int x) {        return helper(x) * 2;    }​    private int helper(int x) {        return x + 1;    }}​public class Main {    public static void main(String[] args) {        Calculator c = new Calculator();        System.out.println(c.twice(3));        System.out.println(c.helper(3));    }}

選択肢

  • A.3行目でコンパイルエラーになる
  • B.8 と 4 が出力される
  • C.15行目でコンパイルエラーになる正解
  • D.8 が出力された後、実行時エラーになる

解説実行して確認済み

private メソッドは同じクラスの中からは呼び出せるので、3行目の helper(x) は問題ありません。一方、別のクラスである Main から c.helper(3) を呼んでいる15行目はコンパイルエラーです。アクセス可否はコンパイル時に判定されます。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「クラスの定義とオブジェクトの使用」の要点を解説記事で読む

「クラスの定義とオブジェクトの使用」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。