继承特点:
1)是类与类之间的关系,单继承(一个子类只有一个父类)
2)多个类可以继承一个父类
3)可以多层继承,父类继承另一个父类
继承成员变量特点:
1)子类只能获取父类非私有成员
2)同一变量遵循就近原则(局部变量>子类成员变量>父类成员变量)
3)super:可以获取父类的成员变量和成员方法,与this关键字类似
继承成员方法的特点:
1)子类中没有这个方法,调用父类方法
2)子类重写了这个方法,调用子类方法Override
方法重写的应用场景和注意事项:
场景:父类方法不能完全满足子类使用,既可以保留父类功能,还可以有自己特有功能
注意事项:不可重写父类私有方法;重写方法权限必须大于等于父类方法
继承构造方法执行顺序:
1)super(实参列表);语句 在子类的构造方法中使用,用来调用父类中的构造方法,并且只能在构造方法第一行使用
2)this(实参列表);语句 在类的构造方法中使用,用来调用本类中的其他构造方法,并且只能在构造方法第一行使用
继承优缺点:
1)优点:提高代码的复用性;提高代码的可维护性
2)缺点:类的耦合性增强(开发的原则是高内聚低耦合:内聚就是自己完成某件事情的能力,耦合就是类与类之间的关系)
抽象类的特点:
1)抽象方法只能在抽象类中
2)抽象类和抽象方法只能被abstract修饰
3)抽象类不能创建对象(不能被实例化)
4)抽象类中可以有非抽象方法
5)抽象类和类的关系也是继承
6)一个类继承了抽象类要么重写所有的抽象方法,要么自己也是抽象类
抽象类的成员特点:
1)成员变量:可以有成员变量;可以有常量
2)成员方法:可以有抽象方法;可以有非抽象方法
3)构造方法:可以有构造方法,需要对抽象类的成员变量进行初始化
抽象类细节
1)抽象类中的抽象方法不能被private、final和static修饰
2)抽象类中也可以没有抽象方法,但是是个没意义的抽象类
抽象类中有构造函数,是由子类的super语句调用,用于给抽象类中的成员初始化
注:上述知识点来源于观看黑马Java视频及笔记整理的,只为做记录,侵权删。
类的初始化过程:
父类静态域——》子类静态域——》父类成员初始化——》父类构造块——》1父类构造方法——》2子类成员初始化——》子类构造块——》3子类构造方法