As EJP said in a comment :
This can happen with synthesized compiler models for Generics.
Actually, this is not only for generics.
, , .
:
public class Super {
public static void main(String... args) throws Exception {
for (Method method : Sub.class.getDeclaredMethods())
System.out.println(method + (method.isSynthetic() ? " **SYNTHETIC**" : ""));
}
public Number get() {
return Double.NaN;
}
}
class Sub extends Super {
@Override
public Integer get() {
return 42;
}
}
public java.lang.Integer Sub.get()
public java.lang.Number Sub.get() **SYNTHETIC**