多重继承关系的初始化顺序
父类属性---》父类构造方法---》子类属性---》子类构造方法
说明:创建对象时,子类构造方法会自动调用父类的构造方法,若子类有有参构造,则不会自动调用父类无参构造。此时子类必须有一个无参构造,否则使用无参构造函数创建对象时会报错。如果父类属性未初始化,父类属性不会调用,会直接走父类构造方法中的内容。然后继续子类的构造方法。同理,若子类中属性未被初始化,也不会走属性,即直接走子类构造方法中的方法体。
构造方法不会被重写,因为不能被继承。
方法重写的规则:方法名相同;参数列表相同;返回值类型相同或者是其子类;访问权限不能严于父类
super关键字来访问父类的成员
super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
super不能访问父类的private属性
abstract也可用于方法---抽象方法
抽象方法没有方法体
抽象方法必须在抽象类里
抽象方法必须在子类中被实现,除非子类是抽象类
final修饰符
修饰的类,不能再被继承
修饰的方法,不能被子类重写
修饰的变量将变成常量,只能在初始化时进行赋值。
抽象类和抽象方法
抽象类不能被实例化
可以有0-多个抽象方法
非抽象类必须重写父类的所有的抽象方法。