类型转换的规则

型转换的规则

准备工作:

public class B{ ……}

public class D:B{……}

B b1=new B();

D d1=new D();

B b2 =new D();

---------------------------------

在变量名类型的层面可以任意的相互转换,需要遵循的规则是:

                          子类型向父类型转换的时候不需要任何语法;                      例:B b3=d1;
                          父类型向子类型转换的时候,需要强制类型转换;                例:D d3=(D)b1;
 但是做到这一点只能保证在编译的时候不报错。

在对象层面:

                  只能是子类的对象转向父类型,                 例: B b2 =new D();
                  父类的对象不能转成子类型,                    例:D d2=(D)b1;           //编译的时候不会报错,运行的时候会报错
                  也可以是该类的对象转回他本身的类型。      例:D d3=(D)b2;

做到这个就可以达到在运行的时候不报错,才能真正完成类型的转换。

原文地址:https://www.cnblogs.com/key1309/p/3464770.html