1、继承的概念
继承(inheritance)机制 :是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。继承主要解决的问题是:共性的抽取,实现代码复用。
那么我们就可以把上述代码中,狗和鸡类的相同属性抽取出来,然后采用继承的思想来达到共用。
上图中,Dog和Chicken都继承了Animal类,那么Animal类就是父类/基类/超类,Dog和Chicken就是Animal的子类/派生类,继承之后,子类就可以复用父类的成员。
2、继承的语法
在Java中,如果要表示类之间的继承关系,需要使用extends关键字:
(1)子类会将父类中的成员变量和成员方法继承到子类中
(2)子类继承父类后,必须要添加新成员,以显示出与父类的不同,否则就没必要继承了。
3、父类成员访问
3.1 子类访问父类的成员变量
1、子类和父类中不存在同名变量时
2、子类和父类存在同名成员变量
此时会优先访问子类的成员变量。
总结:成员变量遵循就近原则,自己有则优先访问自己的,自己没有则在父类中寻找,父类中也没有代码就会报错。