我很难找到一个令人满意的继承问题答案。为什么有时候要像这样声明一个子类型:
Shape myCircle = new Circle();
and this other times?
Circle myShape = new Circle();
在这里,Circle是Shape的一个子类。......
我看过很多面向对象编程的书籍,但它们对我来说似乎缺乏一致性和易于理解的解释。人们向我展示了Shapes类被实例化为圆形、正方形等的例子......但我不理解何时使用第一种声明方式和第二种声明方式。