一、父类引用指向子类对象时
- 若子类覆盖了某方法,则父类引用调用子类重新定义的新方法
- 若子类未覆盖某方法,则父类引用调用父类本身的旧方法
- 若子类覆盖了某属性,但父类引用仍调用父类本身的旧属性
- 若子类未覆盖某属性,则父类引用调用父类本身的旧属性
- 父类引用不能访问子类新定义的方法
二、子类引用指向自身对象时
- 若子类覆盖了某方法,则子类引用调用子类重新定义的新方法
- 若子类未覆盖某方法,则子类引用调用父类本身的旧方法
- 若子类覆盖了某属性,则子类引用调用子类重新定义的新属性
- 若子类未覆盖某属性,则子类引用调用父类本身的旧属性
- 子类引用可以访问子类新定义的方法