mainメソッド |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:メインメソッド |
外語:main method |
品詞:名詞 |
Javaで作成されたアプリケーションを起動するさい、最初に呼び出されるメソッド。メインルーチンを記述する場所。
|
概要 |
mainメソッドには、次のような決まりごとがある。
一般的には、次のように記述される。
ただ、publicとstaticは逆に書いても同義であり、また変数名argsは慣例に過ぎず実際には何でも良い。
特徴 |
引数 |
引数は文字列の配列として与えられる。
変数名をargsとすると、要素数はlengthメソッドで得られる。つまり「args.length」である。
また文字列は、1番目はargs[0]、2番目はargs[1]、のようにして得る。
必須ではない |
javaコマンドはmainメソッドを実行しようとするが、Javaのクラスローディング仕様上はmainメソッドは必須ではない。
常識的なプログラムではmainメソッドを書くので、このようなことは考える必要自体通常はないが、mainメソッドがなくてもコンパイルすることができ、技巧さえ凝らせばmainメソッドが無くてもプログラムは動く。
あるクラスが起動されるさいには、クラスのmainメソッドが探される。メソッドを探すためには、まずクラスのローディングが行なわれるが、このときstaticイニシャライザーがあれば、それが(mainメソッドの有無を問わず)実行される。
そしてstaticイニシャライザー内で新しいスレッドを作成し、そのスレッドから任意のメソッドを呼べば、mainメソッドが無くてもクラスは実行されるということになる。
通常、mainメソッドが無ければ、JVMはNoSuchMethodException例外をスローする。結果、メインのスレッドはNoSuchMethodExceptionで終了してしまうが、終了する前に非デーモンスレッドを作成してしまえば、それが動作し続けるのである。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |