84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
有一個類,定義為class Gift<T>{...},當我新建一個Gift物件時,如Gift<Phone> ; myGift = new Gift<Phone>myGift物件究竟是什麼類型的呢,是Gift,Phone,還是Object? 在部落格讀到一段話說,在實例化物件時,不指定泛型的話,預設為:Object, 但是不指定泛型的話,預設不是應該為GIft麼?
class Gift<T>{...}
Gift
Gift<Phone> ; myGift = new Gift<Phone>
這只是一個泛型的聲明Gift 說明你在Gift裡面存在T這個泛型的使用,java遵循先聲明後調用原則,故此需要在使用T之前現聲明T的具體類型與myGift的類型無關,不論T的類型是什麼myGift都是Gift的一個類別的物件.望採納!
我個人的理解是,這個類型的限制,是對傳入參數的限制,而不是類別本身的
Gift呀,不指定泛型,預設為:Object。那是針對T來說的吧。 Java的泛型在編譯階段需要確定型別,不是真真的動態。所以沒聲明T型就預設了T為object
望採納!
我個人的理解是,這個類型的限制,是對傳入參數的限制,而不是類別本身的
Gift呀,不指定泛型,預設為:Object。那是針對T來說的吧。 Java的泛型在編譯階段需要確定型別,不是真真的動態。所以沒聲明T型就預設了T為object