子类和父类如果定义了同名的成员变量
此时,子类和父类中的同名变量会同时存在!
使用super可以正常的调用同名的父类成员变量。
如果调用父类的方法,那么会默认使用父类的变量。
如果调用子类的方法(或者说子类的方法override了父类中的同名方法),那么会默认使用子类的变量。
子类和父类如果定义了同名的方法
如果参数不同,那么子类中的方法可以当作是一个全新的方法。
如果参数相同,那么这种情况称之为重写。
重写有两个原则:
(1):子类方法的返回值范围一定要<=父类方法的返回值范围,比如父类的方法返回int,子类重写的时候不能返回flaot。
(2):子类方法的权限必须>=父类方法的权限。
排序是 public>protect>default>private