面相对性-继承

继承

一、继承:表达类和类之间的关系

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关系(例:人是动物,人就是动物的子类)

猜你喜欢

转载自www.cnblogs.com/bo-0000/p/10951690.html