2016-09-08 182 views
-3

我正在學習關於多線程考試類,我自己開始練習,以提高自己的Java能力,但是我有一個問題:爪哇 - 擴展擴展一個Thread類

上午我能夠擴展一門課,並擴展了Thread的另一課。我知道我只能在Java中擴展1個類(並且我可以實現Runnable,儘管我現在對此不太熟悉),但是我可以像之前所說的那樣級聯嗎?還是我被迫使用implements? 我會扔我的例子,讓你得到什麼,我會做:

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

,如果我能做到這一點,我在哪裏可以使用super()功能?

+5

總結的構造函數中使用,你的問題似乎是:如何繼承工作?接口如何工作,以及線程如何工作?這太寬泛了。 – ControlAltDel

+0

我不確定如何在不通過繼承部分的情況下獲得類的多線程部分。 – RealSkeptic

+0

你可以擴展一個類,是的。你也可以在詢問之前_try_。 –

回答

0

正如你提到的,一個類只能繼承(擴展)從一個其他類 但擴展類的層次結構確實存在。

例如,你可以有一個

public class Animal{ 
} 

public class Mammal extends Animal{ 
} 

public class Monkey extends Mammal{ 
} 

super()是每個類

+0

Ty的幫助:) – Geologo

+0

很高興我可以幫助你,請upvote並標記答案爲接受未來的人尋找答案:) –

0

有這樣做,只要你Character類沒有聲明final沒有問題。 Character的每個子類繼承(間接)所有(非private)行爲和結構Thread(以及Object)以及Character的行爲和結構。它們都可以用作Thread對象。

呼叫super()調用默認的(無參數)父類的構造。它只能用作子類構造函數的第一行。您可以在子類代碼中的任何位置使用super.blah()語法來調用超類的blah()函數。