Javaプログラムのエントリーポイントであるmainメソッドに関する問題を解いて、理解を深めましょう。
問題
次のプログラムを実行した場合の出力はどれでしょうか?正しい選択肢を選んでください。
public class Main {
public static void main(String... args) {
Display disp = new Display();
disp.printMessage("Hello Java!");
}
}
class Display {
void printMessage(String message) {
System.out.println(message);
}
}
選択肢
- A. Hello Java!
- B. コンパイルエラー
- C. 実行時エラー
- D. 出力なし
答えと解説
回答を見る
答え
A. Hello Java!
解説
本問題の解説:
- mainメソッドのシグネチャとvarargs
- オブジェクトの生成とメソッドの呼び出し
mainメソッドはJavaアプリケーションのエントリーポイントです。本プログラムでは、mainメソッドがvarargs(可変長引数)を使用しています。String... args
は、String[] args
と同じように動作します。
プログラムはmainメソッド内でDisplay
クラスのオブジェクトを生成し、printMessage
メソッドを呼び出しています。このメソッドは渡された文字列を標準出力に表示するものです。
そのため、正しい出力は”A. Hello Java!”となります。
変数のスコープやオブジェクト指向の基本的な概念も重要ですが、mainメソッドの形式と同様に引数の扱いにも精通しておく必要があります。
初心者がつまずくポイントとして、String[] args
の部分に対する理解不足があります。これをString... args
と記述しても意味は同じであり、今後出会う可能性のある記述形式です。