我真的应该知道这个,但出于某种原因,我不理解以下内容。
我的抽象类包含以下抽象方法:
protected abstract RuleDTO createRowToBeCloned(RuleDTO ruleDTO);
我还有另一个类如下:
EvaluationRuleDTO extends from RuleDTO
然后在我的抽象类的子类中,我有以下实现,由于“必须覆盖或实现超类型方法”,因此不允许:
protected EvaluationRuleDTO createRowToBeCloned(EvaluationRuleDTO ruleDTO) {
然而,以下操作是允许的:
protected EvaluationRuleDTO createRowToBeCloned(RuleDTO ruleDTO) {
我知道这可能是一个基础问题,但我有点困惑。为什么我可以在重写的方法中返回RuleDTO子类,但我不能传入子类?
谢谢