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

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

     

    总结:

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

  • 相关阅读:
    [转]男人25岁之前应该懂得的21个道理
    family album U.S.A 05
    Humour
    Pretty Boy
    [转]男人本色.女人风韵
    电话英语
    搞不懂的女人
    family album U.S.A 03
    [转]The flame of love(爱的火焰)
    四季花开!
  • 原文地址:https://www.cnblogs.com/lxywsx/p/13884225.html
Copyright © 2020-2023  润新知