整体与部分(has a关系)例如:球队与球员
继承
- 注意细节:
1.子类可以继承父类的成员,但是千万不要为了减少重复代码去继承,只有正真存在继承的时候才去继承
2.父类私有的成员是不能被继承的
3.父类中的构造方法也是不能被继承的
4.创建子类对象时会默认首先调用父类的无参的构造方法 - 作用:
调用父类的构造方法的作用是为了初始化从父类继承下去的属性
super关键字
- 代表的是父类的引用空间
- 作用:
1.如果子父类存在着同名的成员时在子类中,默认访问的是子类的成员,可以通过super关键字指定访问父类的成员
2.创建子类对象时,默认会先调用父类无参的构造函数,通过super关键字可以在子类的构造函数中指定调用父类的函数
- 注意的细节:
1.super关键字调用构造函数的时候必须位于构造函数中的第一个语句
2.this和super调用构造函数的时候不能同时出现在同一个构造函数中
方法的重写
- 子父类存在的同名函数,这时候我们需要进行方法的重写。
- 原因:父类的功能不能满足子类的需求
- 要求:
1.方法重写,子父类的函数名与形参必须一致
2.方法重写时,子类的权限修饰符必须要大于等于父类的权限修饰符
3.方法重写时,子类的返回值类型必须小于或者等于父类的返回值类型
4.方法重写时,子类抛出的异常类型,必须小于或者等于父类抛出的异常类型