小編給大家分享一下Java泛型extends及super存在著什么區(qū)別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
<? extends T>和是Java泛型中的“通配符(Wildcards)”和“邊界(Bounds)”的概念。
為什么要用通配符和邊界?
使用泛型的過程中,經(jīng)常出現(xiàn)一種很別扭的情況。比如按照題主的例子,我們有Fruit類,和它的派生類Apple類。
class Fruit {}
class Apple extends Fruit {}
然后有一個(gè)最簡單的容器:Plate類。盤子里可以放一個(gè)泛型的“東西”。我們可以對這個(gè)東西做最簡單的“放”和“取”的動(dòng)作:set( )和get( )方法。
class Plate{ private T item; public Plate(T t){item=t;} public void set(T t){item=t;} public T get(){return item;} }