今回はメソッドやコンストラクタについて学びましょう。
目次
問題
以下のプログラムを実行した場合の出力を選んでください。
class Calculator {
private int total;
Calculator(int initial) {
total = initial;
}
void add(int value) {
total += value;
}
int getTotal() {
return total;
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator(10);
calc.add(5);
calc.add(10);
System.out.println(calc.getTotal());
}
}
選択肢
- A. 10
- B. 15
- C. 25
- D. 30
答えと解説
回答を見る
答え
C. 25
解説
基本説明:
このプログラムでは、Calculator
クラスを使って簡単な加算操作を行います。ここでは、initial
引数を受け取るコンストラクタを用いてCalculator
オブジェクトを初期化しています。add
メソッドは引数で受け取った値をtotal
に加算し、getTotal
メソッドは現在のtotal
を返します。
誤答理由:
AやBを選ぶ誤りは、加算操作の回数やtotal
の初期値の考慮漏れによります。10(初期値)に5(1回目の加算)と10(2回目の加算)を足し合わせる必要があります。したがって、結果は15ではなく25になります。
つまずきポイント:
Calculator
クラス内のtotal
の役割やメソッドがどのように動作するのかを理解することがポイントです。変数の変化を手順ごとに追跡することが慣れないうちは難しいかもしれません。
発展知識:
コンストラクタは、オブジェクトの初期化を行う特別なメソッドです。引数を取ることで、多様な初期化方法を提示できます。また、メソッドの操作は、それらの引数と戻り値に依存しています。Javaでのオブジェクト指向プログラミングにおいては、コンストラクタやメソッドの適切な活用が非常に重要です。