これまで、私はpublic void run() {}
メソッドを使用してJavaでコードを実行してきました。 main()
の代わりにinit()
またはrun()
を使用したい場合/その理由は?
main
メソッドは、Javaアプリケーションのエントリポイントです。
具体的には、Java仮想マシンがクラスを指定して(Java
アプリケーションランチャーを使用して)アプリケーションを実行するように指示された場合、シグネチャを持つmain
メソッドを探します。 public static void main(String[])
の。
Sunの Java
コマンドページから :
JavaツールはJavaアプリケーションを起動します。これを行うには、Javaランタイム環境を開始し、指定されたクラスをロードし、そのクラスのmainメソッドを呼び出します。
このメソッドは、パブリックおよび静的として宣言する必要があり、値を返してはならず、
String
配列をパラメーターとして受け入れる必要があります。メソッド宣言は次のようになります。public static void main(String args[])
Javaアプリケーションの実行方法に関する追加リソースについては、次のソースを参照してください。
run
メソッドは、新しい Thread
または Runnable
インターフェイスを実装するクラスのエントリポイントです。 Java
コマンドによって起動される場合、JavaVirutal Machineによって呼び出されません。
Thread
またはRunnable
自体は、Java仮想マシンで直接実行できないため、Thread.start()
メソッドで呼び出す必要があります。これは、Thread
をインスタンス化し、アプリケーションのstart
メソッドでmain
メソッドを呼び出すことで実現できます。
public class MyRunnable implements Runnable
{
public void run()
{
System.out.println("Hello World!");
}
public static void main(String[] args)
{
new Thread(new MyRunnable()).start();
}
}
Thread
のサブクラスまたはRunnable
を実装するクラスの開始方法の詳細と例については、 スレッドの定義と開始 Javaチュートリアルを参照してください。
init
メソッドは、 Applet または JApplet で呼び出される最初のメソッドです。
アプレットがブラウザのJavaプラグインまたはアプレットビューアによってロードされると、最初にApplet.init
メソッドが呼び出されます。アプレットの使用に必要な初期化はすべてここで実行する必要があります。 init
メソッドが完了すると、start
メソッドが呼び出されます。
アプレットのinit
メソッドがいつ呼び出されるかについての詳細は、JavaチュートリアルのThe Appleのライフサイクル でアプレットのライフサイクルについて読んでください。
参照: アプレットの作成方法 Javaチュートリアルから。
Javaには特別な静的メソッドがあります。
public static void main(String[] args) { ... }
Javaコマンドラインでクラスが開始されると、クラスで実行されます:
$ Java Class
存在する場合、クラス「Class」でこのメソッドを実行します。
public void run() { ... }
runnableインターフェースで必要とされるか、新しいスレッドを作成するときにThreadクラスから継承されます。
main()
メソッドは、Java application。run()
のエントリポイントです。通常、新しいスレッドまたはタスクに使用されます。
run()
メソッドをどこで書いていますか、どの種類のアプリケーション(Swing、AWT、コンソールなど)を書いており、開発環境は何ですか?