什么是继承?
java中提供一个关键词extends,用这个 关键词,我们可以让一个类和另一个类建立起父子关系。
如 public class Student extends People{ }
Studdent称为子类(派生类),People称为父类(基类或超类)。
作用:当子类继承父类后,就可以直接使用父类公共的属性和方法了。
好处:提高代码的复用
继承的特点:子类可以继承父类的属性和行为,但是不继承构造器
Java是单继承模式:一个类只能继承一个直接父类
Java不支持多继承,但支持多层继承(子继承父,父继承爷)
Java中所有的类都是Object类的子类
Object类是祖宗类
在子类方法中访问(成员变量,成员方法)满足
就近原则,子类有在子类中使用,子类找不到找父类,父类没有就报错
如果子类中出现了重名的成员,此时如果一定要在子类中使用父类时使用super关键词
super.父类成员变量/方法
什么是方法的重写?
在继承体系中,子类出现了和父类一模一样的方法声明,我们就称这个方法是重写的方法
重写的应用场景
当子类需要父类的功能,但父类的该功能不完全满足自己的需求时子类可以重写父类的方法
@Ovierride重写注释
@Ovierride是放在重写后的方法上,作为重写是否正确的效验注释。
加上该注释后如果重写错误,编译阶段会出现错误提示
建议重写方法都加上@Ovierride注释,代码更安全,优雅!
方法重写注意事项和要求
重写方法的名称,形参列表必须与杯重写方法的名称和参数列表一致
私有方法不能被重写
子类重写父类方法时,访问权限必须大于或者等于父类
不重写父类的静态方法
子类继承父类后构造器的特点
子类中所有的构造器默认都会先访问父类中无参的构造器,再执行自己