Here is example from "Java Philosophy" book (remember that FancyToy extends Toy):
Class<FancyToy> ftClass = FancyToy.class;
Class<? super FancyToy> up = ftClass.getSuperclass(); //compiles
Class<Toy> up = ftClass.getSuperclass(); //doesn't compile
Tried it in IDEA a lot of times, just have an "Incompatible types" message. Please, give me a hint, why we can't use generic type Toy only?
Thank you