zoukankan      html  css  js  c++  java
  • ParentChildTest代码测试

    运行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行的输出结果却有了变化。(?)

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

     

    总结:

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

  • 相关阅读:
    POJ 1673
    POJ 1375
    POJ 1654
    POJ 1039
    POJ 1066
    UVA 10159
    POJ 1410
    POJ 2653
    POJ 2398
    POJ 1556
  • 原文地址:https://www.cnblogs.com/lxywsx/p/13884225.html
Copyright © 2011-2022 走看看