作者:
skipeco (skipeco)
2014-04-09 22:07:32小弟最近看到此題:
http://magicloren.blogspot.tw/2009/02/217.html
查了幾個中英文的題解網站,都認為解答應在第一個空格處填入
public class GenericB<T extends Pet>
這自然是一種可行的答案。但小弟的問題是:
是否 public class GenericB<T>
也是可行的?
原因在於:
1. 雖然 Cat 的確實做介面 Pet,但在題目中 main 方法之下,
完全都只有使用到 Cat,因此僅使用 T 來對應 Cat不就已經足夠了嗎?
是否有任何理由不可使用 T ,而非得使用 T extends Pet?
2. 實際將僅使用 T 的程式碼在 jdk8 下是可成功 compile 的,
但幾乎所有的網站都一至認為是 T extends Pet,不免會讓我疑惑是否疏忽了什麼?
附上編譯用的程式碼,請各位先進解惑了m(_ _)m
GenericB.java