- ベストアンサー
startメソッドについて。
アプレット(AWT)を勉強している初心者です。 startメソッドというのはクラスの中に実装したら自動的に実行されるものなのでしょうか? あるスレッドのクラスをインスタンス化して、そのオブジェクトの中のstart()を実行することによって、スレッドが実行される、と思っているのですが、裸でstartメソッドが実装されているようなんです。 ソースは下記のサイトの3-3の落ちモノゲームです。この本を使って勉強しています。 http://www.muse.dti.ne.jp/~yoji/book/book001.html よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
このクラスで定義しているstartメソッドは、java.applet.Appletから継承したものです。 これはブラウザやAppletViewerが、アプレットを開始する必要があるときに自動的に呼ばれます。 Threadクラスのstartメソッドについては、他のかたが書かれている通りです。 startメソッドの呼び出しからはすぐに戻りますが、Threadクラスのコンストラクタで指定したクラスの、Runnableインターフェースから継承したrunメソッドが並行して実行されることになります。
その他の回答 (2)
- pcbeginner
- ベストアンサー率46% (261/560)
Threadクラスのstartメソッドを呼ぶと、runメソッドを自動的に呼んでくれます。 裸 という意味がわかりませんが、 Threadクラスにstartメソッドに何も記述が無い という意味でしたら、nativeメソッドだからです。 詳しくは「nativeメソッド」を調べてください。
お礼
回答ありがとうございます。
その書籍は持ってないので憶測ですが、 startメソッドというのは、おそらくRunnableインタフェースもしくは、Threadクラスのstartメソッドのことですね? startメソッドが実行されるのは、Threadのrunメソッドを呼び出すと内部で実行してくれます。 単純にstartメソッドを定期すればいいだけではなく、Runnableインタフェースを実装するか、Threadクラスを継承したクラスにしなければいけません。 あとは、実装したThreadクラスのrunメソッドを呼べば、自動的にstartメソッドも実行してくれます。
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。