1.继承的概念理解
继承是面向对象三大特征之一。
可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法
2、通过extends关键字实现继承
格式: class 子类 extends 父类 { }
3、继承带来的好处
继承可以让类与类之间产生关系,子父类关系
产生子父类后,子类则可以使用父类中非私有的成员。
4、继承带来的弊端
削弱了子类的独立性,类的耦合性增强 软件设计中模块划分应遵循的准则是:高内聚低耦合。
5、变量的访问特点
在子类方法中访问一个变量
- 首先子类局部范围找
- 子类成员范围找
- 父类成员范围找(不能再父类的父类中寻找)
6、this和super的区分
this关键字是调用本类中的对象,
super关键字是调用父类中的对象
eg:当父类和子类中都有 int age变量,其中子类中age=20,父类中age=40;
在子类中:this.age=20;super.age=40;
7.继承中的重写(方法的重新定义,在第一点中提及)
父类:
子类
测试类
可以理解为在子类调用父类的方法的时候,发现父类中的方法不适合子类中使用的实际情况,由此子类在使用的时候对父类中的方法进行重新的书写。
很多情况之下在子类重新书写父类的方法中,可能会不注意对父类的名字或者方法的修饰符有所改变
@Override 可以在重写方法前加入此注解,来判断方法重写是否正确
在重写中需要注意2点
- 父类中的私有方法(private)子类不可继承和重写
- 子类的访问权限不能低于父类(公共public>默认default>私有private)