class P {
}
class Q extends P {
}
class R extends Q {
}
class S extends R {
}
public class Manager {
public static void main(String[] args) {
X<? super R> x4 = null;
x4.test(new S());
x4.test(new R());
x4.test(new P());//compile time error
}
}
class X<A> {
void test(A obj) {
}
}
//means that R or superclass of R i.e P, Q or Object but then why I get a compile time error on line as specified in the program.