【发布时间】:2014-01-05 12:32:00
【问题描述】:
是否可以根据子类 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
提前致谢!
【问题讨论】:
-
Child extends Parent,对吧? -
应该
Child扩展Parent? -
对,我已经编辑了代码。谢谢! :)
-
@chaplean 这样做的目的是什么:child.foo().childMethod()?相同的结果将是 child.childMethod()。
-
只是为了能够编写内联语句。
标签: java generics subclassing