继承 extends
1.符合is-a关系 2.使用继承关键字extends 3.代码复用
方法重写的规则:
1.方法名相同
2.参数列表相同
3.返回值类型相同或者是其子类
4.访问权限不能严于父类
super关键字来访问父类的成员:
1.super只能出现在子类的方法和构造方法中
2.super调用构造方法时,只能是第一句
3.super不能访问子类的private成员
继承条件下构造方法的调用规则如下:
1.如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下,写不写“super();”语句,效果是一样的。
2.如果子类的构造方法中通过super显式调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。
3.如果子类的构造方法中通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则。
4.特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object类的无参构造方法为止。
抽象类和抽象方法:
1.抽象类不能被实例化
2.抽象类可以有0~多个抽象方法
3.非抽象子类必须重写父类的所有抽象方法
final修饰符:
1.修饰的类,不能再被继承
2.修饰的方法,不能被子类重写
3.修饰的变量将变成常量,只能在初始化时进行赋值