塑型

来源:互联网 发布:国金证券交易软件 编辑:程序博客网 时间:2024/06/11 12:49

塑型

        Java既支持显示转换,也支持隐式转换,转换的过程被称为塑型。对象的塑型一般遵循如下的规则。

        1. 子类可以被塑型为任何一个父类,反过来却不行。塑型的实际操作过程如下:

1
2
Sona=newSon();
Fatherb=a;/**/--->Fatherb=(Father)a;/**/

        2. 接口的引用变量可以指向任何实现了其接口的类:

1
2
classAimplementsB{...}
Ba=newA();

         3. 子类在被塑型后,还可以塑型回自己的类:

1
2
3
Sona=newSon();
Fatherb=a;
Sonc=(Son)b;--->

为什么要塑型

        塑型是为了支持多态。一般来说,塑型的应用场合有:

        1. 赋值运算时,将右侧的对象的数据类型转化为左侧数据类型。

        2. 方法传参时,将实际参数转换为方法声明的形参类型。(对基本数据类型依然有效)

        3. 进行算数运算时,将不同的类型的项转换为相同类型的项,再进行计算。(针对基本数据类型)

        4. 塑型需要注意的事项:子类被塑型后,将暂时失去自己新增的方法和属性(即父类中不存在的属性,但不包括被重新赋值的Field,被复写的Method),此时要把其看作是父类。对于被重新定义的父类属性,在塑型后将被抛弃而使用父类属性,对于被重新定义的方法,如果是实例方法,则从子类向父类依次查找,如果是类方法,则是从父类到子类依次查找。

0 0
原创粉丝点击