線程的它混淆我爲什麼一個實現Runnable接口線程的子類不逼我重寫run方法。基本上,當我創建實現Runnable的簡單類時,它強制我重寫運行方法。但是,當我將普通類作爲線程的子類時,它不會強制我重寫該類。這背後的邏輯是什麼?子類實現Runnable接口
2
A
回答
2
當一個非抽象類聲明它實現了一個接口,這是什麼意思是,類必須有一個具體的實現每一個方法的接口定義了這些實現方法,但是這些實現方法並不一定要在類中明確,它們可以從超類繼承。在這個具體的例子java.lang.Thread
有自己的public void run()
,其中類繼承,所以實現Runnable
並不需要添加自己的覆蓋,以滿足編譯器(雖然它可能不會真正有用)螺紋的子類。
2
這是因爲主題本身實現的run()。
@Override
public void run() {
if (target != null) {
target.run();
}
}
默認情況下,它什麼都不做。如果我們延長一個主題,我們實現此方法,以便它有用的東西
+0
這基本上意味着,我已經通過擴展Thread類來重寫它了嗎?它不只是默認顯示。 –
+0
可以擴展線程,但沒有它並不意味着你已經重寫run()的 –
相關問題
- 1. 接口類實現Runnable
- 2. 實現類中的Runnable接口
- 3. 線程子類/實現Runnable?
- 4. 創建通過實現Runnable接口
- 5. 擴展Thread類和實現Runnable接口的場景
- 6. 在一個類中實現超級子接口都(A類實現了超接口,子接口)
- 7. 實現與子類的接口
- 8. 強制接口的子類實現ToString
- 9. JFrame子類和ActionListener接口實現
- 10. 在子接口或實現類
- 11. 要子類或實現接口
- 12. 類設計:類實現接口實現另一個接口
- 13. 與Runnable接口
- 14. 抽象類實現接口
- 15. 基類實現接口
- 16. 實現接口Singleton類
- 17. 匿名類實現接口
- 18. 接口實現時不透露實現接口的類
- 19. 通過活動實現Runnable接口的難度
- 20. 轉換線程/ Runnable接口的實現從Java到科特林
- 21. 無法在Thread類擴展到同步兩個線程,但實現Runnable接口
- 22. 爲什麼實現Runnable接口的類的構造函數未被調用?
- 23. 清潔內部類實現Runnable
- 24. NoClassDefFoundError在Android Studio中實現Runnable類
- 25. 實現無線程Runnable的Java類
- 26. Java:子類實現接口,但父類覆蓋接口的成員?
- 27. 是否有即使父類實現相同的接口實現子類中的接口任何好處
- 28. 實現接口到一個類:接口到接口
- 29. Java中的一個簡單Thread線程場景,其中Runnable接口不需要由Thread實現類實現
- 30. 實現通用接口的類的子類
這是否意味着,如果我有一個具有相同名稱的方法與方法的接口有,即時通訊將在我的簡單的類來實現超,編譯器不會警告我? –
@ReubenJaMesAveñoGruta比相同_name_稍多,超類方法必須是與接口兼容的,所以相同的名字,以相同的順序相同的參數類型和相同的返回類型(或子類型 - 如果接口方法返回'對象「,那麼使用返回'String'的方法來實現它是有效的)。 –