继承
一、继承:表达类和类之间的关系
1、在Java中,所有类都默认继承Object
2、class child extends Parent extends关键字实现类的继承
3、特性:单根型,一个类智能存在一个父类
4、在java继承中:子类可以继承父类的任何非私有成员(变量,方法,构造)
5、子类永远比父类拥有更多的成员,子>父
6、任何一个类都直接或间接继承Object
7、在MyEclipse中查看继承结构图的快捷键是ctrl+T、查看类中的所有成员键是ctrl+o;
二、final的作用:
1、修饰常量
2、final类(代表该类不能被继承)
3、final方法(该方法不能被子类重写)
三、方法重写:
子类继承了父类的方法后,可以对父类的方法进行改写,要求除了方法体之外,其他的必须一致(就近原则,默认选择拥有该方法,并且离自己近的类)
四、super关键字
超类,super代表父类的对象?????
五、构造函数:函数名与类名完全相同
1、特性:没有返回值类型
2、执行时机:当类被实例化的过程中,会自动调用构造函数
3、作用:完成类的成员变量的初始化
4、快捷键:alt+shirf+s 选择generat constructor.......(两个选项,分别对应带参构造和无参构造)
5、类和类之间发生继承关系的情况下:构造是如何调用的
6、实例化子类的同时:会先执行父类的无参构造
六、super():
隐式调用,必须位于第一行
带参构造,必须显示调用
七、抽象类:abstract关键字修饰的类
特点:
1、使用abstract关键字修饰
2、抽象方法不能被直接实例化
3、在抽象方法中不能存在方法体
4、类内部既能存在抽象方法,也能存在非抽象方法
5、可以构造类
八、父类-子类之间类型转换
1、向上转型:子类向父类转型:自动
2、乡下转型:父类向子类转型:强制(在调用子类特有成员时,强转会报错,错误信息如下:ClassCastException instanceof)
3、强转前,建议使用 if(ani instanceof Student)进行判断,以免发生错误。
4、子类可以在任何时刻替代父类:is a关系(例:人是动物,人就是动物的子类)
面相对性-继承
原文:https://www.cnblogs.com/bo-0000/p/10951690.html