0

这是来自复杂的构建系统。我正在寻求帮助来解决问题。

似乎我遇到了这个问题:接口中的协变返回类型未通过 Javac 编译

清理所有编译代码后编译时,我的代码编译得很好。但是,如果我打开AImpl.java并更改一个字符(修改任何不应该产生任何编译时错误的字符串文字)并编译,那么我会收到以下错误:

AImpl.java:22: types BImpl<T> and BImpl<T> are incompatible; both define waitFor(org.openqa.selenium.support.ui.ExpectedCondition,java.lang.String,long,java.util.Collection), but with unrelated return types
public class AImpl<T extends AImpl<T>> extends BImpl<T> implements A<T> {

这是特定于 AImpl.java 的;更改任何其他代码都不会产生这种恶性错误。

BImpl.java定义为:

public class BImpl<T extends BImpl<T>> extends CImpl<T> implements B<T> {

错误方法waitFor定义CImpl为:

public T waitFor(ExpectedCondition<?> condition, String message, long timeOutInMillis, Collection<Class<? extends Throwable>> exceptions) 
4

0 回答 0