是否可以根据子类Type动态识别T为返回类型? 我想要如下内容:
public class Parent {
public <T extends Parent> T foo() {
return (T)this;
}
}
public class Child extends Parent {
public void childMethod() {
System.out.println("childMethod called");
}
}
然后调用:
Child child = new Child();
child.foo().childMethod();
没有像这样定义类型:
Child child = new Child();
child.foo().<Child>childMethod(); // compiles fine
提前致谢!
最佳答案
你想要这个:
public class Parent<T extends Parent<T>> {
public T foo() {
return (T)this;
}
}
public class Child extends Parent<Child> {
public void childMethod() {
System.out.println("childMethod called");
}
}
Child child = new Child();
child.foo().childMethod(); // compiles
关于java - Java中根据子类Type定义父类方法的泛型Type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20933583/