Java中的通配符

1、通配符概念java

其實.上不少技術點都是爲了解決某一問題而出現的,那麼咱們在學習的過程當中能夠先提出問題,而後在使用咱們的技術去解決。面試

DEMO:觀察問題spring

以上代碼能夠正常執行,可是若是泛型類中的類型改變以後發現了方法中的參數的泛型也須要改變,這就說明了fun方法依賴Person的泛型,這也是耦合度較高的一種體現,此時咱們能夠在方法的參數中使用通配符代替具體的泛型。通配符使用「?」便可。設計模式

DEMO:通配符解決問題微信

此時使用了「?」在方法中替代具體的泛型類型,以後無論Person中的泛型如何改變,fun 方法都不須要改動,其實通配符還有兩個子通配符。一個是通配符上限,一個是通配符下限。分佈式

 

2、通配符的上限ide

一、通配符上限: ? extends. 上限 類型。學習

DEMO:在方法中指定通配符的上限spa

方法方法定義了上限以後:方法只能接受上限類型以及.上限類型的子類類型。除了方法的通配符能夠定義上限以外類的泛型也能夠定義上限。設計

DEMO:類的泛型上限

類使用了泛型.上限以後實例化子類的時候指定的泛型的具體類型只能是泛型上限本類類型以及泛型上限類型的子類類型。

 

3、方法通配符的下限

定義方式: ? super‘ 下 限類型

DEMO:通配符下限類型

使用了通配符下限以後:方法只能接受下限類型以及下限類型的父類類型做爲泛型具體類型。類泛型有下限嗎?類的泛型是沒有下限的。

總結:

一、使用通配符「?」解決了方法對泛型類的依賴

二、通配符的.上限「? extends.上限類型」, 方法只能接受上限類型以及上限類型的子類類型,泛型類也能夠設置上限。

三、通配符下限「?super 下限類型」,方法只能接受下限本類類型以及下限的父類類型,泛型類不能夠設置下限。

 

 

詳細的java系統視頻免費學習地址

 

有完整的Java初級,高級對應的學習路線和資料!專一於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分佈式及面試資料、開源項目,助力開發者成長!


歡迎關注微信公衆號:碼邦主

相關文章
相關標籤/搜索