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

ParentChildTest代码测试

时间:2020-11-01 09:30:58      阅读:14      评论:0      收藏:0      [点我收藏+]

标签:语句   print   变量   child   一个   mic   总结   测试   调用   

运行ParentChildTest代码得到的结果是:

 技术图片

 

 

Parent.printValue(),myValue=100

Child.printValue(),myValue=200

Child.printValue(),myValue=200

Child.printValue(),myValue=200

Child.printValue(),myValue=201

结果分析:

先分别创建了一个父类和子类的对象并调用其中的方法,得到了1、2行的结果,然后进行了向上转型,并调用了子类中的方法,得到了第3行的结果,但是之后将变量值进行加一,第4行的结果却没有变化;对父类对象进行强制类型转换后再进行加一操作,第5行的输出结果却有了变化。(?)

把向上转型的语句进行注释后,发现编译时没有错误,但运行后的结果中显示了错误,通过查看书籍发现是父类对象不能直接强转为子类对象,通过将强转的语句进行注释再运行验证了这一说法。

 技术图片技术图片

 

 

 

总结:

进行向上转型后,对象执行的是子类中的字段与方法,并且父类对象不能直接强制类型转换为子类。

ParentChildTest代码测试

标签:语句   print   变量   child   一个   mic   总结   测试   调用   

原文地址:https://www.cnblogs.com/lxywsx/p/13884225.html

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