Previous | Next | Trail Map | Getting Started | 「 Hello World 」アプリケーション


main() メソッド

次のリストの最初の太字行は main()メソッドの定義の始まりである。

/**   HelloWorldApp クラスは標準出力に「Hello World!」
  *  を表示するアプリケーションを実装する。
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); //文字列を表示する。
    }
}

すべての Java アプリケーションは、シグニチャが次のようになる main()メソッドを含まなくてはならない。

public static void main(String[] args)

main()メソッドのメソッドシグニチャには、3つの修飾子が含まれる。

main() メソッドの呼び出し

Java 言語での main()メソッドは、C 言語と C++ の main()関数に類似している。Java インタプリタが(アプリケーションの制御するクラスを起動することによって)アプリケーションを実行すると、クラスの main()メソッドを呼び出して開始する。main()メソッドは、アプリケーションを実行するように要求された他のすべてのメソッドを呼び出す。

もし main()メソッドを持っていないクラスで Java インタプリタを起動しようとすると、インタプリタはプログラムのコンパイルを拒否して、以下に類似したエラーメッセージを表示する。

In class NoMain: void main(String argv[]) is not defined

main() メソッドの引数

次のコードの一部から分かるように、 main()メソッドは、 Strings の配列というひとつの引数を受け取る。

public static void main(String[] args)

この String の配列は、実行時システムがアプリケーションに情報を渡すメカニズムである。 配列でのそれぞれの String は、コマンド行引数と呼ばれる。 コマンド行引数によってユーザは再コンパイルせずに、アプリケーションの操作に影響を与えることができる。 例えば、分類プログラムでは、ユーザが次のコマンド行引数を使用することにより、データが降順で分類されていることを明示することができる。

-descending 

「Hello World」アプリケーションはそのコマンド行引数を無視するので、ここではこれ以上の説明はしない。 しかし、プログラム属性の設定(in the Writing Java Programs trail) では、特定の必要性に合わせて修正可能なコマンド行パーサのフレームワークを含めた、コマンド行引数の詳細について説明する。


C と C++ のプログラマへの注釈: Java 実行環境で main() メソッドに渡す引数の数と型は、C 言語や C++ のmain() 関数に渡す引数の数と型とは異なる。 詳細については、 プログラム属性の設定コマンド行引数(in the Writing Java Programs trail)を参照すること。



Previous | Next | Trail Map | Getting Started | 「 Hello World 」アプリケーション