2016-09-08 4 views
-3

Threadクラスを拡張するクラスを拡張し、私は、Javaでの私の能力を向上させるために、自分で練習を始めたが、私は質問があります。Javaは - 私はマルチスレッドについての試験のために勉強しています

アムを私はThreadも拡張する私が作った別のクラスでクラスを拡張することができますか?

私はJavaで1クラスしか拡張できないことを知っています(そして、Runnableを実装することができますが、私は今はそれほど快適ではありませんが)前に述べたようにカスケードで行うことはできますか?または、私は強制的にimplementsを使用しますか? 私はあなたが私が正確に何をするでしょう得ることを確認するために私の例を投げます:

Character class -> extends Thread 
Warrior class -> extends Character 
Wizard class -> extends Character 

と私はそれを行うことができる場合、私はsuper()機能を使用することができますどこ?

+5

を要約すると、各クラスのコンストラクタ内で使用されて

public class Animal{ } public class Mammal extends Animal{ } public class Monkey extends Mammal{ } 

は、しているように見えるかもしれませんか?インターフェイスはどのように機能し、スレッドはどのように機能しますか?これは広すぎます。 – ControlAltDel

+0

継承の部分を最初に通過することなく、どのようにクラスのマルチスレッド部分に到達したのか分かりません。 – RealSkeptic

+0

クラスを拡張することができます。尋ねる前に_try_することもできます。 –

答えて

0

あなたが言及しているように、クラスは他の1つのクラスから継承(拡張)することができます しかし、拡張するクラスの階層構造は存在します。どのように仕事をサブクラスん:

たとえば、あなたが質問super()

+0

Ty:ヘルプのために – Geologo

+0

嬉しいです。 、upvoteして、答えを探している将来の人々のために受け入れられた答えをマークしてください:) –

0

Characterクラスが宣言されていない限り問題ありませんfinalCharacterの各サブクラスは、Thread(およびObject)のすべての(非private)ビヘイビアと構造、および動作と構造を継承します(Character)。それらはすべてThreadオブジェクトとして使用できます。

コールsuper()は、デフォルト(引数なし)スーパークラスコンストラクタを呼び出します。これは、サブクラスコンストラクタの最初の行としてのみ使用できます。サブクラスコード内の任意の場所にsuper.blah()構文を使用して、スーパークラスのblah()関数を呼び出すことができます。

関連する問題