我想創建一組子類重載超類的設置。這超有一個抽象方法 - 它的返回類型在理想情況下是從這種方法被調用的對象,使得其有效的行爲像這樣的:Java泛型 - 覆蓋抽象方法並具有子類的返回類型
public abstract class SuperClass{
public abstract SuperClass getSelf();
}
public class SubClass extends SuperClass{
@Override
public SubClass getSelf(){
return this;
}
}
我不能確定,如果這樣的事情是可能的,因爲我覺得回報類型總是要爲了使覆蓋工作一樣 - 但是我一直在想辦法,應該存在的,介於沿着這條線......
public abstract class SuperClass{
public abstract <? extends SuperClass> getSelf();
}
public class SubClass extends SuperClass{
@Override
public SubClass getSelf(){
return this;
}
}
感謝您的任何幫幫我。
編輯:添加擴展父類的子類,咄
我不明白你將如何使用這個。你能舉個例子嗎? –