【发布时间】:2016-08-16 17:19:18
【问题描述】:
我同意在不扩展 B 类的情况下,输出为“1233”,但为什么如果用 A 扩展 B 类,则代码无法编译?
public class SomeClass {
public static class A {
public void f(int x){
System.out.print("1");
}
public void f(Object x){
System.out.print("2");
}
}
public static class B // extends A {
public <T> void f(T x){
System.out.print("3");
}
}
public static void main( String[] args){
A a=new A();
B b=new B();
a.f(3);
a.f("hello");
b.f(3);
b.f("hello");
}
}
【问题讨论】:
-
错误信息告诉你什么?
标签: java generics inheritance