重写注意事项:
- 必须保证父子类之间方法的名称相同,参数列表也相同
- 子类方法的返回值必须小于等于父类方法的返回值范围
- 子类方法的权限必须大于等于父类方法的权限修饰符 (public > protected > default > private)
重写的特征:
- 方法名、参数、返回值相同
- 子类方法不能缩小父类的访问权限
- 子类不能抛出比父类更大的异常
- 重写存在于父类和子类中
作用域 | 当前类 | 同一包 | 子孙类 | 其他包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
默认 | √ | √ | × | × |
private | √ | × | × | × |
重载的特点:
- 参数类型、个数、顺序至少一个不同
- 不能重载只有返回值不同的方法名
- 存在于父类、子类和同类中
继承关系中,父子类构造方法的访问特点:
- 子类构造方法当中有一个默认隐含的super()调用,所以一定是先调用父类的构造,后执行子类的构造
- super()语句必须是子类构造方法的第一个语句,不能一个子类构造多次调用super()
Java继承三大特点
- Java语言是单继承的,一个类的直接父类只能有唯一一个
- Java语言可以多继承
- 一个子类的直接父类是唯一的,但是一个父类可以拥有多个子类