1.由低到高的类型转换
这里我们举例时依然是Person为父类,Student,Teacher为子类并且继承父类Person类,Applicant为主类。这里父类中包含一个run方法,Student类中有一个go!方法。
这里一开始
发生错误,因为Person类里面没有go方法,只有在Student类里有go方法,因此我们需要将这个student(注意是小写,这里student不是类型,而是Person类下的名称)从Person类有高转低到Student(注意是大写,就是Student类),即student将这个对象从Person类型转换为Student类型,我们就可以使用这个go方法了。
下面进行类型转换,为了方便分辨,我们先将这个student名称改为obj,然后
这种格式下就转换完成,还有一种方法是
这就是从低到高的类型转换。
2.从高到底的类型转换
如图就是子类转换为高类,这里的子类Student已经转换为高类Person。因此Person类下的person无法调用go方法。
**子类转换为父类,可能会丢失一些自己的方法
最后做出一些总结:
1.父类引用指向子类的对象,子类的引用不能指向父类的对象。
2.由低到高的转型不需要强制转换。
3.由高到低需要强制转换



