2012-01-13 10 views
2

Javaで作成するすべてのメソッドを呼び出す必要があります。たとえば、myMethod()というメソッドを作成するとします。そのメソッドを実行するには、do myMethod()のようなものを書く必要があります。どのようにあなたはそれを定義した後do main()を書く必要はありませんか?私はそれが本当に問題ではないことを知っていますが、私は非常に興味があります。Javaでは、mainメソッドを呼び出す必要はありませんか?

+2

すべての質問事項^^私たちが好きではない場合、私たちは人間ではないでしょう。 – Neilos

+0

あなたのシナリオで 'do main()'というコードを何と呼びますか? –

+2

どこから電話しますか? mainが呼ばれるまであなたのコードは実行されていないことに注意してください。だからあなたはプログラムの外からそれを呼び出さなければならないでしょう。まあそれは起こり、誰かがすでにあなたのためにそのコードを書いています。 – bames53

答えて

7

javaを実行してクラスを与えると、ランタイムによって自動的に呼び出されます。

そのため、mainには非常に特殊な要件があります。それは特別です。起動時にランタイムが探す方法です。それはあなたのプログラムへの入り口です。

実行しようとするクラスに適切なメインメソッドがない場合は、エラーが発生します。

+0

ur clazzに静的initブロックがある場合、mainメソッドは必要ありません。 w/outエラーで実行されます。 – emory

1

プログラムを起動すると、mainメソッドが呼び出されます。

コマンドライン引数は、mainのものです。 foo a b cmain("a","b","c")(擬似コード)

0

です。コントロールがあなたのJavaプログラムに入ってから呼び出される他のすべての関数を実行するのは、メインメソッドのものです。自動的に呼び出されます。

2

Javaでは、すべてのクラスがmain(String ... args)を持つことができます。これは、どのクラスがロードされているかによって異なります。 Javaクラスでmainを書く必要があるわけではありませんが、mainはユニットテストを行うのに便利です。点

に来る

「は、Java仮想マシンが指定されたクラスをロードし、この指定されたクラス内のメソッドの主を呼び出すことによって起動します。」あなたが明示的にaswellメイン呼び出すことができますしかし

< Java言語仕様> http://java.sun.com/docs/books/jls/second_edition/html/execution.doc.html

/* Student.java */ 
package stackoverflow; 

class Student { 

    public static void main(String... args) { 
     System.out.println("Student called"); 
     Person.main(null); 
    } 
} 

/* Person.java */ 
package stackoverflow; 

class Person { 

    public static void main(String... args) { 
     System.out.println("Person called"); 
    } 
} 
関連する問題