码迷,mamicode.com
首页 > 其他好文 > 详细

父类子类转换

时间:2019-09-13 20:30:00      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:color   alt   code   bsp   new   对象   括号   效果   nbsp   

子类转父类:

让父类的引用指向子类的引用就可以转换。除了构造方法以外子类继承了父类的所有,所以父类指向子类是没问题的。

Son s = new Son();
Father f = s;

上段代码中s是子类的引用,f是父类的引用,虽然s和f都指向了Son类的对象,但是意义却不同。对于引用s,它会把这个对象当做Son类的对象,而引用f会把这个当做Father类的对象。引用s可以随意访问这个对象中的内容,但是引用f却只能访问Father类中有的内容,不能访问子类中多出的内容。这就达到了子类转换成父类的效果,从引用f来看,这个对象就是父类对象,所以说是子类转成了父类。

技术图片

父类转子类:


父类转子类的前提是,父类的引用必须指着子类的对象,向上边图的f一样,进行转换加括号即可。原来以f的视角来看,指向的是父类的对象,转换后f指的就是子类的对象,跟引用s一个效果,代码如下

Son s = new Son();
Father f = s;
Son convert = (Son) f;

 

父类子类转换

标签:color   alt   code   bsp   new   对象   括号   效果   nbsp   

原文地址:https://www.cnblogs.com/yudongxuan/p/11517386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!