爲什麼我不能classcastexception? E在這個例子中是指C,不是嗎? B不是C,我認爲我的演員必須爲編譯器工作。 我的錯誤在哪裏?爲什麼我不能classcastexception?
public class A{
public static void main(String...s){
Monitor<C> m = new Monitor<C>();
C arg2 = new C();
B d = m.f(arg2);
System.out.println(d);
}
}
class B extends A{}
class C extends B{}
class Monitor<E extends B>{
public E f(E E){
return (E) new B();//Why this place didn't give me ClassCastException?
}
}
請清理你的源代碼,它看起來很可怕。請儘量清楚問題,這很難理解。 – Polygnome
爲什麼獨立監控?爲什麼不是M – vels4j