问题是那
HomePage是一个
Page<SecuredPage>而不是一个
Page<HomePage>。该
login方法
Page<HomePage>将从其通用签名返回a
。
您必须将的一般参数
HomePage设为与自身相关,而不是
SecuredPage。这样可以解决编译器错误。保持
SecuredPage通用性,但确保其边界扩展
SecuredPage<T>。然后分配
HomePage本身泛型参数
T在
HomePage。
class SecuredPage<T extends SecuredPage<T>> extends Page<T> {...}class HomePage extends SecuredPage<HomePage> {...}


