java中怎样做可以把父类强制转换成子类

Posted

tags:

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

JAVA是强类型的语言。当引用对象的时候,如果是上溯的话,需要强制转换。如你上面写的,
PiePlot p = (PiePlot)Plot,这就是上溯,生成实例时引用的是父类,需要强制转换,所以就需要加个(PiePlot)来声明Plot(Plot是父类)。
参考技术A 或许你的意思是父类对象指向子类对象的引用。

比如:父类A,子类B可以写成:A a=new B();

要不你就去研究一下里氏替换原则

java中多态的要点

多态有三要素 继承、方法重写、父类引用指向子类对象

多态可以理解成两个部分:一个是编译时,一个是运行时

编译时:定义规则;运行时:具体实现这个规则。

编译时:把父类强制转换成子类不会报错;运行时:先去父类找这个方法找到后再看子类有没有重写这个方法如果没有这调用父类的,否则调用子类重写的方法;

编译时:不是同一种东西(例:把猫强制转换成狗)不会报错;运行时:不是同一种东西(例:把猫强制转换成狗)会报错。

 

以上是关于java中怎样做可以把父类强制转换成子类的主要内容,如果未能解决你的问题,请参考以下文章

java中多态的要点

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

引用类型的强制类型转换

java中的强制类型转换

java父类强制转换成子类的问题

第九天