日期:2014-05-20  浏览次数:20553 次

父类中怎么能有子类的信息?
Jackson库里有个

public final class ArrayNode
extends ContainerNode


ArrayNode继承自ContainerNode

ContainerNode类有个成员函数

arrayNode

public final ArrayNode arrayNode()

文档里也没说这个函数是干什么的,但我最奇怪的是为什么父类里能返回子类的东西?

------解决方案--------------------
Jackson API
------解决方案--------------------
确实有问题哦  

public final ContainerNode  arrayNode()
这么写应该是说的通的 ,能返回父类的地方,就能返回子类对象,
------解决方案--------------------
首先她的方法是final的,这样子类不必实现

设计确实不好,其实没必要设计成继承,设计成组合更好
------解决方案--------------------
这设计,根本就没发挥出继承的优点。对父类来讲,就不应该出现子类的东西