Java 返回抽象方法的实例
我有一个带有方法的抽象类,我想返回类的子类中的“this”。当我使用该方法时,我不希望它返回作为MyClass铸造的对象,我必须将其重新铸造回它的真实状态。有没有一种很好的方法可以用泛型来实现这一点Java 返回抽象方法的实例,java,Java,我有一个带有方法的抽象类,我想返回类的子类中的“this”。当我使用该方法时,我不希望它返回作为MyClass铸造的对象,我必须将其重新铸造回它的真实状态。有没有一种很好的方法可以用泛型来实现这一点 abstract public class MyClass{ public <aSubClassOfMyClass> doSomething(){ return this; } } 抽象公共类MyClass{ 公共剂量测定法(){ 归还这个; } }
abstract public class MyClass{
public <aSubClassOfMyClass> doSomething(){
return this;
}
}
抽象公共类MyClass{
公共剂量测定法(){
归还这个;
}
}
您可以使用以下命令使类成为泛型:
抽象公共类MyClass{
公共T doSomething(){
归还这个;
}
}
另请参见:IntelliJ告诉我T和“this”类不兼容types@David:是;您将需要强制转换(这将引入另一个关于未选中强制转换的警告)。Java的类型系统不够强大,无法正确表达这一点。
abstract public class MyClass<T extends MyClass<T>>{
public T doSomething(){
return this;
}
}