继承是类与类之间的一种联系
被继承者为父类,继承者为子类
子类具有父类的属性和方法。同时,子类中也可重新定义、追加属性和方法。
继承的格式
- public class 子类名 extends 父类名{}
- 范例:public class Zi extends Fu{}
Fu:是父类,也被称为基类、超类。
Zi;是子类,也被称为派生类。
继承中子类的特点
- 子类中具有父类的内容。
- 子类中可以有自己特有的内容。
继承的利弊
- 利:
1.提高代码复用性。
2.提高代码维护性。
- 弊:
1.类的耦合性增强,削弱了子类的独立性。
继承中变量与方法的访问顺序
子类方法中访问一个变量
- 子类局部范围寻找。
- 子类成员范围寻找。
- 父类成员范围寻找。
- 都无则报错。
注:不考虑父类的父类!
通过子类对象访问一个方法
- 子类成员范围寻找。
- 父类成员范围寻找。
- 都无则报错。
注:不考虑父类的父类!
super 与 this 关键字用法一览
方法重写
- 子类出现和父类中一模一样的方法声明
一模一样:返回值、方法名、参数的类型和个数相同。
- 效果:
子类的重写方法覆盖子类从父类继承来的方法。即使用子类对象名.方法名调用的是重写的方法。
注:若要调用父类方法则需使用super关键字。
注意事项
- 父类私有方法不能被重写(父类私有成员子类无法继承)
- 子类重写方法访问权限不能更低(public>proctcted>默认>private)
继承注意事项
- 只支持单继承,不支持多继承。
- 支持多层继承。
示例:
1.public class Son extends Father,Mother{}不允许
2.public class Father extends GrandFather{}
public class Son extends Father{}
Son继承Ftaher,Father继承GrandFather。