一。父类引用指向子类对象时
1.若子类覆盖某方法,则父类引用调用子类重新定义的新方法;
2.若子类未覆盖某方法,则父类引用调用父类本身的旧方法;
3.若子类覆盖某属性,但父类引用扔调用父类本身旧属性;
4.若子类未覆盖某属性,则父类引用调用父类本身旧属性;
5.父类引用不能访问子类新定义的方法。
二。子类引用指向自身对象时
1.若子类覆盖某方法,则子类引用调用子类重新定义的新方法;
2.若子类未覆盖某方法,则子类引用调用父类本身的旧方法;
3.若子类覆盖某属性,则子类引用调用子类重新定义的新属性;
4.若子类未覆盖某属性,则子类引用调用父类本身的旧属性;
5.子类引用可以访问子类新定义的方法。
三。抽象类特点:
1.实例化子类时必须先实例化父类;
2.抽象类中的方法调用子类实现的抽象方法;
3.抽象类可以再子类未实例化时调用子类实现的抽象方法;
4.在抽象类的构造方法中调用了自己未实现的抽象方法,那么对应子类实现了此方法;在抽象类实例化之后,
子类未实例化之前,抽象类可以调用子类实现的抽象方法。