Java泛型讓聲明方法返回子類型

接口A定義以下ide

public interface A<T extends A<T>> {.net

T add();

} 1 2 3 4 5 說明:A接口只有一個add方法,返回泛型T。T的聲明有些饒<T extends A<T>>。code

A接口的實現類B繼承

public class B implements A<B> {接口

[@Override](https://my.oschina.net/u/1162528)
public B add() {
    return null;
}

} 1 2 3 4 5 6 7 8 注意,此處類B裏的add方法返回類型B。也就是說,接口A裏聲明的方法時並不知道子類型B的存在,經過繼承和泛型,能夠放返回值動態的適配子類型,這一切都要歸功於<T extends A<T>>class

相關文章
相關標籤/搜索