2

なぜmainメソッドを宣言する必要があるのでしょうか? mainメソッドがクラスの出発点であることは知っています。しかし、なぜそれを と宣言する必要があるのpublic static void main(String args[])でしょうか?

と宣言できないのはなぜpublic static void test(String args[])ですか?mainキーワードですか?JVM は、それが開始点になることをどのように認識しますか?

4

7 に答える 7

6

JVM は、プログラムの開始点がどこにあるかを何らかの方法で認識している必要があります。デザイナーがそれをマークするために選択した方法は、エントリ メソッドを呼び出すことですmain。これは、同じ名前が C (当時ほとんどのプログラマーが慣れ親しんでいた) でその目的に使用され、それが理にかなっているからです。名前に特に魔法のようなものは何もありません。何かを選択する必要があり、それは実用的な選択でした。

于 2013-08-26T06:24:41.700 に答える
3

プログラムが始まるとき、どこかから始めなければならない..まあ、これがmain方法です。


なぜ静的なのですか?

  • JVM がメイン メソッドを呼び出すとき、呼び出されるクラスのオブジェクトは存在しません。したがって、クラスからこれを許可するには静的メソッドが必要です。

なぜ公開?

  • main メソッドは、プロジェクトの範囲外のメソッドを実行するために JVM によって呼び出されます。

なぜ無効にするのですか?

  • 考えてみてください。main メソッドが終了しても、プログラムが終了したわけではありません。新しいスレッドが生成された場合、これらのスレッドがまだ実行されている可能性があります。
于 2013-08-26T06:26:52.773 に答える
0

main メソッドがなくても任意の Java クラスをコンパイルできますが、スタンドアロン アプリケーションはmain()メソッドがないと実行できません。

メイン メソッドは、アプリケーションの開始時に呼び出されるように定義されたメソッドです。それがなければ、走り始める場所はありません。

于 2013-08-26T06:32:04.820 に答える
0

It is static- コンパイラは、メソッドに入るオブジェクトを作成する必要はありません void。 - Java はプラットフォームに依存しません。したがって、何かを返す場合、プラットフォームごとに異なる場合があります

public- アクセス用

main() は、コンパイラがアプリケーションに入るドアを取得するために必要です。名前が示すように、最初に実行する必要があるのはメイン メソッドです。

于 2013-08-26T06:26:01.640 に答える