JLS中“覆盖和隐藏的要求”中子类的不兼容返回类型

时间:2012-06-19 17:42:13

标签: java jls

引用JLS

  

如果返回类型为R1的方法声明d1覆盖或隐藏   声明另一个方法d2,返回类型为R2,则d1必须为   返回类型可替代d2,或发生编译时错误。   此外,如果R1不是R2的子类型,则必须使用未经检查的警告   发布(除非被禁止(§9.6.1.5))。方法声明必须   没有与任何冲突(§8.4.6)冲突的抛出条款   它覆盖或隐藏的方法;否则,编译时错误   发生。

大胆的句子是否与该段的第一部分相矛盾。

我在下面的JLS中可以看到这适用于通用返回,例如

List<String>返回类型被List返回类型覆盖,但JLS中的句子仍然不会将此排除在这种情况之外,如果有另一种情况适用该句子,您能澄清一下吗? ?

0 个答案:

没有答案