//父类
public class Info <T>{
private T t;
public T getT(){
return t;
}
}
//子类
public class InfoImpl extends Info<String> {
public static void main(String[] args) {
InfoImpl info = new InfoImpl();
Method[] declaredMethods = info.getClass().getDeclaredMethods();
for (Method declaredMethod : declaredMethods) {
System.out.println(declaredMethod.getName() + ":" +
declaredMethod.getReturnType());
}
}
@Override
public String getT() {
return super.getT();
}
}
此时,你会看到编译器会帮我们创建一个返回值类型为Object类型的getT()方法,可能是为了与父类保持继承关系吧