在Java中是否可以在this
抽象类的方法中使用,但作为手头子类的实例,而不仅仅是抽象类的实例?
abstract class MyAbstractClass <MyImplementingClass extends MyAbstractClass> {
public abstract MyImplementingClass self();
}
我在每个子类中覆盖它
class MyImplementingClass extends MyAbstractClass<MyImplementingClass> {
@Override public MyImplementingClass self() {
return this;
}
}
但我想知道是否有更优雅的方法可以做到这一点。特别是,它不需要每个子类都覆盖像self()
.