【发布时间】:2012-11-10 18:25:29
【问题描述】:
为什么这段代码打印的是 2.0 而不是 1.0?
abstract class B<T extends Number> {
abstract Number f(T j);
}
class A<T extends Number> extends B<T> {
public Number f(Float j) {
return 1f;
}
public Number f(T j) {
return j;
}
}
public class J {
public static void main(String[] args) {
B<Float> a = new A<>();
Number r = a.f(2f);
System.out.println(r);
}
}
【问题讨论】:
标签: java oop generics inheritance