0

找不到方法看不到继承的原因。我在这里想念什么?

public class Rate extends BaseResource
public class GenericQuote extends BaseResource
public class Payment extends GenericQuote

public void handleMediationErrors(BaseResource response)

handleMediationErrors(myRate) <-- 工作
handleMediationErrors(myPayment) <-- 在编译时失败告诉我它BaseResource不希望Payment

4

1 回答 1

2

您给出的示例没有任何问题-也许您BaseResource在其中一个类中使用了不同的类(导入不同的类或在其他地方单独声明-这可能会引起混淆!)

为了证明这一点,这个例子完美编译:

class BaseResource {}
class Rate extends BaseResource {}
class GenericQuote extends BaseResource {}
class Payment extends GenericQuote {}

public class Test {

    public void handleMediationErrors(BaseResource response) {}

    public static void main(String[] args) {
        new Test().handleMediationErrors(new Payment());
        new Test().handleMediationErrors(new Rate());
        new Test().handleMediationErrors(new GenericQuote());
        new Test().handleMediationErrors(new Payment());
    }
}
于 2012-09-19T13:54:45.003 回答