Pourquoi ne puis-je pas classcastexception? E signifie C dans l'exemple, n'est-ce pas? B n'est pas C, je pensais que ma distribution ne devait fonctionner que pour le compilateur. Où est mon erreur?Pourquoi je ne peux pas 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?
}
}
S'il vous plaît nettoyer votre code source, il semble horrible. Et s'il vous plaît essayez de clarifier la question, c'est assez difficile à comprendre. – Polygnome
Pourquoi surveiller seul? pourquoi pas M – vels4j