面向对象的三大特性中的多态性实现的前提是:子类extends继承或implement实现父类
多态格式:
父类名称 对象名 = new 子类名称();
接口名称 对象名 = new 实现类名称();
1. 访问成员变量的两种方式下的不同规则
(1)直接通过对象名称访问成员变量:看等号左边是哪个对象(子类或父类),则优先用哪个对象的成员变量,没有则向上找。
(2)间接通过成员方法访问成员变量:看该方法属于哪个对象(子类或父类),则优先用哪个对象的方法,没有则向上找。
2. 访问成员方法的规则:看new的是哪个对象(子类或父类),则优先用哪个对象的成员方法,没有则向上找。
注意:
(1)成员变量指的是父类或子类中的属性,成员方法指的是父类或子类中的方法,如下图:
(2)只有成员方法才能覆盖重写,成员变量不能覆盖重写。