當談到橋接方法時,我知道java編譯器會在需要時添加它們,以便覆蓋可以由子類正確完成(在通過mughal和angelikalanger網站閱讀SCJP之後)。但是,這是一個有點混亂按如下:Java泛型 - 橋接方法
擦除之前:
class x <T> {
void set(T t){}
}
class y <E> extends x {
void set(E e) {} // name clash here
}
class z<E> extends x {
void set(Object y) {} // no name clash here
}
class z1<E> extends x<T> {
void set(Object y) {} // name clash here
}
擦除後:
class x {
void set (Object t) {}
}
我理解的名稱衝突的Y級,但爲什麼沒有名稱衝突的z類? 也有類z1的名稱衝突?令人費解的
'類z'覆蓋''類x'的set'方法。 E型和T型不完全相同。所以名稱衝突'類z1' –
只是一個建議:不要使用原始類型,特別是不能從它們延伸。 –
收到您的國旗,對不起 - 不能按要求做。 –