「 Hello World 」アプリケーション |
次のリストの最初の太字行は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つの修飾子が含まれる。
public
は、main()
メソッドがどんなオブジェクトによってでも呼び出されることを表す。クラスのメンバへのアクセスの制御では、 Java 言語によってサポートされるアクセス修飾子の ins と outs を説明する。
static
はmain()
メソッドがクラスメソッドであることを表す。インスタンスとクラスメンバでは、クラスメソッドと変数について説明する。
void
はmain()
メソッドが値を返さないことを表す。main() メソッドの呼び出し
Java 言語でのmain()
メソッドは、C 言語と C++ のmain()
関数に類似している。Java インタプリタが(アプリケーションの制御するクラスを起動することによって)アプリケーションを実行すると、クラスのmain()
メソッドを呼び出して開始する。main()
メソッドは、アプリケーションを実行するように要求された他のすべてのメソッドを呼び出す。もし
main()
メソッドを持っていないクラスで Java インタプリタを起動しようとすると、インタプリタはプログラムのコンパイルを拒否して、以下に類似したエラーメッセージを表示する。In class NoMain: void main(String argv[]) is not definedmain() メソッドの引数
次のコードの一部から分かるように、main()
メソッドは、 Strings の配列というひとつの引数を受け取る。この String の配列は、実行時システムがアプリケーションに情報を渡すメカニズムである。 配列でのそれぞれの String は、コマンド行引数と呼ばれる。 コマンド行引数によってユーザは再コンパイルせずに、アプリケーションの操作に影響を与えることができる。 例えば、分類プログラムでは、ユーザが次のコマンド行引数を使用することにより、データが降順で分類されていることを明示することができる。public static void main(String[] args)「Hello World」アプリケーションはそのコマンド行引数を無視するので、ここではこれ以上の説明はしない。 しかし、プログラム属性の設定 では、特定の必要性に合わせて修正可能なコマンド行パーサのフレームワークを含めた、コマンド行引数の詳細について説明する。-descendingC と C++ のプログラマへの注釈: Java 実行環境で
main()
メソッドに渡す引数の数と型は、C 言語や C++ のmain()
関数に渡す引数の数と型とは異なる。 詳細については、 プログラム属性の設定 のコマンド行引数を参照すること。
「 Hello World 」アプリケーション |