继承
继承的实现
访问控制符 [修饰符] class 类名 extends 父类名{
...
}
public class A extends B{
...
}//A类拥有B类公开的所有属性,方法
所有的类都默认继承Object类
私有的东西无法被继承:private
单继承:一个父类可以拥有多个子类,一个子类只能直接继承一个父类。
super和this
super只能在继承条件下执行
super.//调用父类的属性和方法
super();//调用父类的无参构造函数,必须在构造函数第一个
this.//调用本身这个对象的属性
this();//调用本身的无参构造函数
方法重写
方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)。
规则
- 参数列表必须完全与被重写方法的相同
- 返回类型与被重写方法的返回类型可以不相同,但必须是父类返回值的派生类
- 访问权限不能比父类中被重写的方法访问权限更低
- 父类的成员方法只可以被他的子类重写
- 声明final的方法不能被重写
- 声明static的方法不能被重写,但是能够抛出任何非强制异常
- 构造方法不能被重写