海外旅行から帰ってきたら、まず何を食べる?

Runnableインタフェースでスレッドを作成するとき、runをオーバーライドするクラスにRunnableインターフェイスを実装してオブジェクトを作成し、Threadクラスのオブジェクトの引数として渡しますが、これは実装することで引数の型を合わせているのですか?(RunnableはThreadのサブクラスとか?)

それともう一つあります。引数として渡されたあとstartでスレッドを開始するとThreadオブジェクトの中でどういう処理が行われているのですか?

よろしくお願いします。

A 回答 (2件)

取り敢えず簡単に解説しておくと


ThreadはRunnableインターフェースを実装するオブジェクトのrunメソッドを
新たなスレッドとして実行する。それだけです.

Threadクラス自体Runnableを実装していて、何もコンストラクタで
指定していなければ、自身のrun()をスレッドで実行する。
この場合、Threadは継承してrun()の中味を書かないと無意味です。

Runnableなオブジェクトを別途用意する時は、Threadクラスは
継承しなくても使えます。

使いわけは・・・したことなぃな(^^;
でも、Threadから継承しない継承木に属するクラスの中で、一部のクラスを
スレッドで実行するって思いっきり有りそう。
    • good
    • 0

う~ん、インターフェースの「実装」とクラスの「継承」の区別がグチャグチャ


みたいですね。

スレッドに取り組む前にもう少し基礎を勉強した方が良ぃと思いますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!