• ベストアンサー

startメソッドについて。

アプレット(AWT)を勉強している初心者です。 startメソッドというのはクラスの中に実装したら自動的に実行されるものなのでしょうか? あるスレッドのクラスをインスタンス化して、そのオブジェクトの中のstart()を実行することによって、スレッドが実行される、と思っているのですが、裸でstartメソッドが実装されているようなんです。 ソースは下記のサイトの3-3の落ちモノゲームです。この本を使って勉強しています。 http://www.muse.dti.ne.jp/~yoji/book/book001.html よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • isle
  • ベストアンサー率51% (77/150)
回答No.3

このクラスで定義しているstartメソッドは、java.applet.Appletから継承したものです。 これはブラウザやAppletViewerが、アプレットを開始する必要があるときに自動的に呼ばれます。 Threadクラスのstartメソッドについては、他のかたが書かれている通りです。 startメソッドの呼び出しからはすぐに戻りますが、Threadクラスのコンストラクタで指定したクラスの、Runnableインターフェースから継承したrunメソッドが並行して実行されることになります。

rapun
質問者

お礼

回答ありがとうございます。

その他の回答 (2)

回答No.2

Threadクラスのstartメソッドを呼ぶと、runメソッドを自動的に呼んでくれます。 裸 という意味がわかりませんが、 Threadクラスにstartメソッドに何も記述が無い という意味でしたら、nativeメソッドだからです。 詳しくは「nativeメソッド」を調べてください。

rapun
質問者

お礼

回答ありがとうございます。

noname#49428
noname#49428
回答No.1

その書籍は持ってないので憶測ですが、 startメソッドというのは、おそらくRunnableインタフェースもしくは、Threadクラスのstartメソッドのことですね? startメソッドが実行されるのは、Threadのrunメソッドを呼び出すと内部で実行してくれます。 単純にstartメソッドを定期すればいいだけではなく、Runnableインタフェースを実装するか、Threadクラスを継承したクラスにしなければいけません。 あとは、実装したThreadクラスのrunメソッドを呼べば、自動的にstartメソッドも実行してくれます。

rapun
質問者

お礼

回答ありがとうございます。

関連するQ&A

専門家に質問してみよう