继承
定义
把多个类当中存在的共有的内容进行抽象提取封装到一个新类当中,让之前的类通过关系能够直接得到这些不需要再重复书写,与我们真实生活当中的继承类似
继承的关键字:extends
继承语法
public class 子类名 extends父类名()
继承的特性
- 单根性:一个类只能继承一个父类
- 传递性:子类能够继承父类所继承下来的所有属性和方法
不允许被继承的内容
- private修饰的内容
- 不同包下默认权限修饰符修饰的内容
- 构造函数
重载
定义
在同一个类中,在同一个类中,声明一个方法名相同,参数列表不同的方法,这种写法叫做重载
重写
定义
在子类当中,创建一个与父类当中方法名相同,参数列表相同,返回值相同的方法
重写的方法最好带有重写的注解﹣@Override
重载与重写的区别
- 类:重载是写在同个类中,重写是写在子类中
- 参数列表:重载是不同参数列表的方法,重写是相同参数列表的方法
- 返回值:重载与返回值无关,而重写要求返回值相同
- 访问修饰符:重载与访问修饰符没有特殊要求,而重写要求访问修饰符的限制一定要大于或等于被重写方法的访问修饰符
super关键字
在子的构造数当中用父类构造
- 要求必须写在子类构造函数的第一行
- public 子类名([参数列表]){super([参数列表])
在子类当中调用父类的属性和方法
super.属性名或者方法名()
super与this关键字
- 在构造方法中,如果出现this或super关键字,则只能是该方法的第一条语句
- 在一个构造方法中,不允许同时使用this和super关键字调用构造方法
- 在类方法中,不允许出现this或super关键字
- 在实例方法中,this和super语句不要求是第一条语句,可以共存