b = (B)a;这一句有错
举个列子说:
   人包含了男人和女人
那你吧人当赋给男人行不行啊?

解决方案 »

  1.   

    在说了
    方法P已经给覆盖了
    就是可以输出也应该是BBBBBBB
      

  2.   

    class parent()
    class child extends parent()
    parent有自己的方法,child继承了parent的方法,也可以增加自己的方法。
    可以肯定child比parent的方法多,child赋给parent,调用parent.method()
    或者parent赋给child,调用child.method(),猜猜哪个会错。
      

  3.   

    当然有错了,难道你在中学里面没有学过正命题,逆命题,否命题,和逆否命题之间的关系吗?在java种everyclass extends Object,
    class A{}
    class B{}
    Object o = new A();
    B b = (B)o;你说可以吗?
      

  4.   

    我觉得你可以读读Thinking in java第十一章
      

  5.   

    向下转型会抛出异常,由于B中的接口至少不必A中少,所以这么做是不安全的,编译器会抛出java.lang.ClassCastException
    除非是这种情况A b = new B();
    (B)b.p();这样编译器会完成向下转型的动作