1:继承概述,使用继承的好处
1:什么是继承?
- Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一类建立起父子关系。
public class Student extends People{}
- Student称为子类(派生类),People称为父类(基类或超类)。
- 作用:当子类继承父类后,就可以直接使用父类公共的属性和方法了。
2:使用继承的好处
- 可以提高代码的复用性。
2:继承的设计规范,内存运行原理
1:继承设计规范:
- 子类们相同特征(共同属性,共性方法)放在父类中定义,子类独有的属性和行为应该定义在子类自己里面
3:继承的特点:
- 子类可以继承父类的属性和行为,但是子类不能继承父类的构造器
- Java是单继承模式:一个类只能继承一个直接父类。
- Java不支持多继承,但是支持多层继承。
- Java中所有的类都是Object类的子类。
4:继承后:成员变量,成员方法的访问特点。
1:在子类方法中访问成员满足
- 就近原则,子类没有找子类,子类没有找父类,父类,没有就报错!
2:如果子类中出现了重名的成员,此时如果一定要用在子类中使用父类?
- 格式:super. 父类成员变量/父类成员方法。
5:继承后:方法重写
1:什么是?
- 在继承体系中,子类出现了和父类中一摸一样的方法声明,我们就称子类这个方法是重写的方法。
2:应用场景:
- 当子类需要父类的功能,但父类的该功能不完全满足自己的需求时。
- 子类可以重写父类中的方法。
3:@Override重写注解
- 优雅,代码安全
4:方法重写注意事项要求
- 重写方法的名称什么的都要一致
- 私有方法不能被重写
- 子类重写方法时,访问权限必须大于或等于父类(不写<protected<public)
- 子类不能重写父类的静态方法,如果重写会报错。
6:继承后:子类构造器的特点
1:特点
- 子类中所有的构造器默认都会先访问父类中无参的构造器,在执行自己
7:继承后:子类构造器访问父类有参构造器
1:super调用父类构造器的作用是什么?
- 通过调用父类有参数构造器来初始化继承自父类的数据。
8:this和supe总结
2:使用注意: