I'm new to this forum. Currently preparing for SCJP 5.0.
I need some help in a Examlab Question. I could not understand the answer.

abstract class A<K extends Number>{

//INSERT HERE
}

Which are valid declarations for the above class ?? Choose all that apply.

A. abstract <K> K use(Object k);

B. abstract <K> A<? extends Number> use( A<? super K> y);

C. abstract <K> A<? super Number> use( A<? extends K> y) ;

D. abstract <K> A<K> use( A<K> k) ;

E. abstract <K extends Number> A<K> use1( A<K> k) ;

F. abstract <V extends K> A<V> use( A<V> k) ;

G. abstract <V super K> A<V> use( A<V> k) ;

H. abstract <V super Character> A<? extends V> use( A<V> k)

I. abstract <V extends Character> A<? super V> use( A<V> k) ;

The answer is - Options A , B , C, E and F are correct.

I CANNOT understand why options B & C are correct.

In option B the argument is A<? super K> which means it can also take A<Object> but class declaration of
A ia A<K extends Number>. So A<? super K> shouldn't be allowed in the argument.

Similarly How is A<? super Number> allowed in the type parameter in option C.