首頁 > Java > java教程 > 為什麼 Java 中的類型參數邊界允許'擴展 T”,但不允許'實現 T”?

為什麼 Java 中的類型參數邊界允許'擴展 T”,但不允許'實現 T”?

Barbara Streisand
發布: 2024-11-02 06:25:29
原創
977 人瀏覽過

Why is

泛型型別參數邊界中的擴充與實作

問題:

在Java 中,為什麼「擴充T ”允許定義類型參數邊界,但不允許“implements T”?

例如,禁止使用以下程式碼:

<code class="java">public interface C {}
public class A<B implements C> {}</code>
登入後複製

雖然此程式碼有效:

<code class="java">public class A<B extends C> {}</code>
登入後複製

答案:

答案:
  • 答案:
  • 答案:

答案:>從語義上講,通用約束語言中的「擴展」和「實現」之間沒有區別。約束的可能性僅限於“extends”和“super”,反映了繼承或賦值相容性的方向。 extends T:與型別參數相關的類別可以是指派給型別 T 或從型別 T 擴充。 super T:與型別參數相關的類別可以從型別 T 指派。 在在無效程式碼範例的情況下,它嘗試使用「implements」來定義型別參數 B 的限制。但是,“implements”不是有效的約束類型,因此不允許。

以上是為什麼 Java 中的類型參數邊界允許'擴展 T”,但不允許'實現 T”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板