父类子类转换

Posted yudongxuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了父类子类转换相关的知识,希望对你有一定的参考价值。

子类转父类:

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

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;

 

以上是关于父类子类转换的主要内容,如果未能解决你的问题,请参考以下文章

子类和父类的转换!谢谢!

java 子类与父类转换

java 里 可以把一个父类强制转换成一个子类 不能把一个子类强制转换成一个父类? 对吗?

父类对象是不是可以强制转换成子类的对象?为啥?

java中可以将父类对象强制转换为子类对象吗?直接将父类对象强制转换为子类对象,与将上转型对象强制

Java:父类对象为啥能转换成子类对象