最新回答 / 慕客火星人
Java 泛型的參數只可以代表類,不能代表個別對象。由于 Java 泛型的類型參數之實際類型在編譯時會被消除,所以無法在運行時得知其類型參數的類型。Java 編譯器在編譯泛型時會自動加入類型轉換的編碼,故運行速度不會因為使用泛型而泛型約束加快。Java 允許對個別泛型的類型參數進行約束,包括以下兩種形式(假設 T 是泛型的類型參數,C 是一般類、泛類,或是泛型的類型參數):T 實現接口 I 。T 是 C ,或繼承自 C 。一個泛型類不能實現Throwable接口。
2015-09-24
最新回答 / no_return
java集合中的泛型,是為了防止錯誤輸入的(如,{“abc”,20}就不能同時輸入),但只有在編譯時有效,編譯后就無效了。但編譯不通過,代碼就不能執行。通過反射泛型可以跳過編譯,直接執行
2015-08-15
已采納回答 / 陽少兮_s
以下所說的只是自己的理解。如果有不對的情況請大家指正我。一般情況下我們都會使用new Foo().print();這種情況下是我們肯定使用Foo的對象的時候我們會這么用。但是當我們需要在運行時才能確認哪個類的print方法時會用到反射。比如現在有個方法,根據我們傳遞的類名來調用方法public void print(String className) {? Class<?> c = Class.forName(className);?......}這樣,只要你傳入正確的類名,不僅能調用Foo類...
2015-07-28
最贊回答 / 好幫手慕珊
現在很多公司用的框架都是自己寫的,這時候就要用到反射了。javaweb中的常見框架struts2、hibernate、spring等都用到了反射。慕課網后面會出注解方面的課程,里面會用到反射,到時候你可以來看看。
2015-07-14