【发布时间】:2012-07-19 21:45:40
【问题描述】:
我真的应该知道这一点,但由于某种原因我不明白以下内容。
我的抽象类包含以下抽象方法:
protected abstract RuleDTO createRowToBeCloned(RuleDTO ruleDTO);
我还有一个类如下:
EvaluationRuleDTO extends from RuleDTO
然后在我的抽象类的子类中,由于“必须重写或实现超类型方法”,我有以下不允许的实现:
protected EvaluationRuleDTO createRowToBeCloned(EvaluationRuleDTO ruleDTO) {
但是,以下是允许的:
protected EvaluationRuleDTO createRowToBeCloned(RuleDTO ruleDTO) {
我意识到这可能是一个基本问题,但我有点困惑。为什么我可以在被覆盖的方法中返回RuleDTO的子类,却不能传入子类?
谢谢
【问题讨论】: