通信用語の基礎知識 日本文化チャンネル桜二千人委員会 戻る

通常PC用 / 人気 更新 今日 カテ
電子計算機 > 仕様・構造 > ソフトウェア > プログラミング言語 > 言語仕様
mainメソッド
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS)
読み:メインメソッド
外語:main method
品詞:名詞

Javaで作成されたアプリケーションを起動するさい、最初に呼び出されるメソッド。メインルーチンを記述する場所。

目次
概要

mainメソッドには、次のような決まりごとがある。

一般的には、次のように記述される。

public static void main(String[] args) { }

ただ、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で終了してしまうが、終了する前に非デーモンスレッドを作成してしまえば、それが動作し続けるのである。

リンク
関連する用語
main関数

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic