返回抽象方法的实例

时间:2013-06-16 15:26:44

标签: java

我有一个带有方法的抽象类,我希望返回类的子类的'this'。当我使用该方法时,我不希望它返回作为MyClass转换的对象,我必须将其重新回到它的真实状态。有没有一种很好的方法来使用泛型?

abstract public class MyClass{

    public <aSubClassOfMyClass> doSomething(){

        return this;
    }
}

1 个答案:

答案 0 :(得分:3)

您可以使用CRTP

使该类具有通用性
abstract public class MyClass<T extends MyClass<T>>{    
    public T doSomething(){    
        return this;
    }
}